3

javascript で "\p{L}" のようなパターンをネイティブに使用する方法はありますか?

(これは perl 互換の構文だと思います)

まず、Firefox のサポートと Webkit に興味があります。

4

4 に答える 4

3

いいえ、\p{..}どの大きなブラウザでもネイティブにサポートされていません。ただし、XRegExp ライブラリUnicode プラグインを使用すると、JavaScript で動作します。

于 2012-05-28T06:11:50.640 に答える
1

いいえ、Javascriptの構文は少し異なります。Unicodeをキャッチするには、のような文字セレクタを使用する必要があります\uXXXX。ただし、実際には、ページとファイルがUTF-8の場合、範囲内に非ASCII文字を設定する[абвг]こともできます。

http://www.javascriptkit.com/jsref/regexp.shtml

于 2012-01-21T14:39:43.367 に答える
1

残念だけど違う。通常の構文では文字のセットのみを指定でき、文字と範囲を角かっこで囲みますが、たとえば文字が Unicode 空間全体に散らばり、その間に他の文字があるため、これは扱いにくくなります。

非効率的な回避策があります。Unicode サイトから UnicodeData.txt ファイルを取得し、そのコンテンツを JavaScript コード内にデータとして配置し、解析します。そして、たとえば、文字が文字かどうかを示す gc (General Category) などの Unicode プロパティを含むオブジェクトの配列にデータを含めることができます。しかし、その場合でも、正規表現の構成要素として使用できるものとしてではなく、単純なテストに便利なデータを持っているだけです。

理論的には、データを使用して正規表現を作成できますが、かなり大きくなります。

于 2012-01-21T15:17:22.090 に答える
1

ここにあるライブラリ:

http://inimino.org/~inimino/blog/javascript_cset

私にとってはうまくいくようで、かなり小さく、他のライブラリから独立しています。

于 2012-08-08T19:40:07.813 に答える