繁体   English   中英

如何匹配Unicode特殊字母字符而不匹配特殊字符

[英]How do I match Unicode special alpha characters while NOT matching special characters

我在这里有一个难题。 我正在尝试编写一个正则表达式模式,以匹配东方语言和西方语言的所有字母字符。 一个条件是没有数字可以匹配(因此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正则表达式

当前的Javascript实现不支持此类快捷方式,但是您可以指定一个范围,例如:

/[\u4E00-\u9FFF]+/g.test("漢字")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM