2009-07-04 47 views
6

中国語、ギリシャ語、ロシア語、...文字の正規表現が必要です。 私が基本的にやりたいことは、句読点と数字を削除することです。すべての文字(中国語、ギリシャ語など)の正規表現

これまで、私は句読点と数字を「手動で」削除しましたが、これはあまり一貫していないようです。

私が試してみましたもう一つは、

/[\p{L}]/ 

であるが、それは、Mozilla(私はFirefoxの拡張機能でこれを使用)によってサポートされていません。

+0

あなただけの特定のユーザの言語に応じた文字を一致させる必要がある(ちょうどあなたがロケールを意識正規表現エンジンを必要とすることを意味する)か、すべての可能な言語の文字であるものと一致する必要がありますか? – balpha

+2

どの句読記号を削除する必要がありますか? O'Brienでアポストロフィを削除する必要がありますか? –

+0

'[\ p {P} \ p {N}]'は句読点と数字を記述します。 – Gumbo

答えて

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

ありがとう、それは私が探していたものです。しかし、私のエクステンションで一度しか使用しない8kbのライブラリを本当に含めたいとは思っていません。 ユニコードプラグインのユニコード範囲は非常に役立ちます。私はそれらを使って自分自身で何かを書くことにします。 – slosd

1

ユニコード文字を扱っていない正規表現の現在のECMA仕様について多くの不平を感じることがあります。例えば。 blog entry by Scott Hanselmanあなたの質問に戻ってリンクします;-)
この問題の "実際の"解決策はまだありませんが、Javascript + Unicode regexesの回答を見てください(あなたの質問は多かれ少なかれこれの複製です)それを取り戻してください、ユニコードプラグインJonathan Lonowskiは見た目がかなりいいと言っています)

関連する問題