我在这里进退两难。我正在尝试编写一个匹配东方语言和西方语言的所有字母字符的正则表达式模式。其中一个条件是没有数字可以匹配(所以 José13)不匹配但是(José)是,另一个条件是特殊字符不能匹配(即:!@#$% 等)
我在 chrome 的控制台中尝试过这个,我得到了:
"a".match('[a-zA-z]');
成功返回,当我输入:
"a".match('[\p{L}]');
我得到一个空响应,我不太明白为什么。根据http://www.regular-expressions.info/unicode.html\p{L} 是任何字母的匹配项。
编辑:\p 在我的 chrome 控制台中似乎不起作用,所以我会尝试不同的方法。我有一张来自 Unifoundry 的 unicode 图表。我将匹配正则表达式并尝试使字符范围无效。
任何输入将不胜感激。
最佳答案
这在 javascript 控制台中有效,但它看起来像是一个 hack:
.match('^[^\u0000-\u0040\u005B-\u0060\u007B-\u00BF\u00D7\u00F7]*');
但是它完成了我需要它做的事情。
在 SO 上引用了这篇文章:Javascript + Unicode regexes
关于javascript - 如何在不匹配特殊字符的情况下匹配 Unicode 特殊字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473406/