に空白文字を削除します。だから私はそれを変更します。Clojureの正規表現は、私は特別な接頭辞から文を選択するパターン
(re-find (re-pattern (str "(?<=" "\\+" "+:=\\s*)" ".+")) "++:= test test")
=>nil
が、このコードは動作します:
(re-find (re-pattern (str "(?<=" "\\+" "+:=\\s)" ".+")) "++:= test test")
=> "test test"
がtest test
前に実際に、だけでなく、そこにある(あまりにも多分なし)1つの空白、私はよく、なぜ\\s
仕事を知りません\\s*
はありません。
このコードではどうなりますか?どうすれば修正できますか?
なぜあなたは、部分文字列の部分は、なぜだけではなく、単一の文字列に正規表現を破るのですか? – sln
組み込みのregex構文を使うことができます: '#"(?<= \ ++:= \ s)。+ "'。これは 'java.util.regex.Pattern'を生成するので、' re-pattern'を呼び出すのと同じです。 –
中間キーワードが将来変更される可能性があるため、正規表現を部分文字列に分割します。 "\\ +"は " - "または他の一意の記号にすることができます。 – ccQpein