RegEx所有信件(包括中文,希腊文等)

时间:2009-07-04 20:46:21

标签: regex firefox unicode

我需要一个匹配中文,希腊文,俄文,...字母的正则表达式。 我基本上想要做的是删除标点符号和数字。

到目前为止,我“手动”删除了标点符号和数字,但这似乎并不十分一致。

我尝试过的另一件事是

/[\p{L}]/

但是Mozilla不支持(我在Firefox扩展中使用它)。

2 个答案:

答案 0 :(得分:4)

你有XRegExpUnicode 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建议看起来很漂亮)

相关问题