2016-03-29 7 views
2

では動作しません。 /,\s*,/uはregex101で正常に動作します。Unicodeの正規表現は、私が一致したい次の文字列を持っているClojureの

しかし#"(?u),\s*,"はClojureのでは動作しません:

(re-find #"(?u),\s*," "Ambrosia,Restore Health, , , ") ;nil, should be , , 

これはなぜ失敗するのか?

+0

これは私のために '"、、 "'を返します。 –

+0

'\ s'は6つのASCII文字と6つのASCII文字だけと一致します。 [documentation](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#predef)を参照してください。 – glts

+0

@TimPoteは、ブラウザへのコピー貼り付けの制限があると考えていますが、元の文字列はまだ元の文字列に戻っていません。 –

答えて

4

\sは、6つのASCII文字と6つのASCII文字のみと一致します:the documentation for Patternを参照してください。

すでにわかっているように、\h\vのような他の空白文字クラスを試してみる価値があります。

また、\p{...}コンストラクトは実際のUnicodeプロパティマッチングを行うことができます。 White_Spaceが最も有望なようです。

関連する問題