我需要一个匹配中文,希腊文,俄文,...字母的正则表达式。 我基本上想要做的是删除标点符号和数字。
到目前为止,我“手动”删除了标点符号和数字,但这似乎并不十分一致。
我尝试过的另一件事是
/[\p{L}]/
但是Mozilla不支持(我在Firefox扩展中使用它)。
答案 0 :(得分:4)
你有XRegExp和Unicode plugin试试吗?
<script src="xregexp.js"></script>
<script src="xregexp-unicode.js"></script>
<script>
var unicodeWord = XRegExp("^\\p{L}+$");
alert(unicodeWord.test("Ниндзя")); // -> true
</script>
答案 1 :(得分:1)
你可以找到很多关于正则表达式的当前ECMA规范的抱怨,而不是以他们应该的方式处理unicode字符。例如。 a blog entry by Scott Hanselman链接回SO问题;-)
对于这个问题还没有“真正的”解决方案,但是看看Javascript + Unicode regexes的答案(你的问题或多或少与此重复)(编辑:我把它拿回来,unicode插件Jonathan Lonowski建议看起来很漂亮)