javascript - 多国语言如何用正则表达式匹配?
巴扎黑
巴扎黑 2017-04-10 16:45:49
0
3
508

にほんご Português 中文繁体1.0

巴扎黑
巴扎黑

reply all(3)
巴扎黑
  • 首先查询你想要匹配语言的Unicode值域

  • 比如,你想要匹配的是简体中文,它的值域为4E00到9F45间

demo = /[\u4E00-\u9F45]/g
demo.test("测试") // print true
demo.test("test") // print false
  • 这里是一个关于js正则表达式的中文文档

左手右手慢动作

举个中文的例子:
匹配中文的正则一般为:/[\u4e00-\u9fa5]+/,其中4e00到9fa5就是中文的范围(其实中文的范围不止这么大,还有CJK范围的)。

eg:

/[\u4e00-\u9fa5]+/.test('中') === true

所以你只要找到你需要的语言的unicode范围,写个向上面的正则表达式就OK了。

巴扎黑

东亚文字的unicode范围有大量重叠, 所以你没法在unicode这一层(简单又精确地)匹配自然语言, 得上language model之类东西.

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template