我正在尝试匹配UTF 16编码文本中的所有拉丁字符。我一直在使用一直很好的[A-Za-z]。因为我一直在解析中文和日文文本,所以我一直遇到奇怪版本的A-Z,而正则表达式并没有发现。
https://gist.github.com/kyleect/1c66fd388d362653969d
左边是我无法识别的字符,右边是我的键盘。我将它们复制并粘贴到chrome页面查找输入,谷歌搜索和我的文本编辑器中的查找输入。所有人都同意:Left == Right
但Right != Left
这些角色是什么,哇我在正则表达式中瞄准它们?
答案 0 :(得分:3)
您可以在浏览器的控制台中查看其字符代码:
> 'B'.charCodeAt(0).toString(16)
ff22
It’s a fullwidth letter!你可以在一个体面的正则表达式引擎中将整个集合与[\uff21-\uff3a]
进行匹配。或者A-Z
更合适。