我在这里陷入困境。我正在尝试编写一个正则表达式模式,匹配东方语言和西方语言的所有字母字符。其中一个标准是没有数字可以匹配(所以José13)不匹配但(José)是,其他标准是特殊字符不匹配(即:!@#$%等)
我在chrome的控制台上玩过这个,我得到了:
"a".match('[a-zA-z]');
当我投入时成功回来:
"a".match('[\p{L}]');
我得到一个空响应,我不太明白为什么。根据{{3}} \ p {L}是任何字母的匹配。
编辑:\ p似乎在我的chrome控制台中不起作用,所以我会尝试不同的路线。我有一张来自Unifoundry的unicode图表。我将匹配正则表达式并尝试使字符范围无效。
非常感谢任何输入。
答案 0 :(得分:1)
这适用于javascript控制台,但它似乎是一个黑客:
.match('^[^\u0000-\u0040\u005B-\u0060\u007B-\u00BF\u00D7\u00F7]*');
然而,它做了我需要做的事情。
上引用这篇文章答案 1 :(得分:0)
目前的Javascript实施不支持此类快捷方式,但您可以指定范围,例如:
/[\u4E00-\u9FFF]+/g.test("漢字")