目標:次の文字列を分割できるようにする:"command/test \/ escaped/"
次のリストに:["command", "test / escaped"]
現在の正規表現は次のようになります。
Str.split (Str.regexp "/") string_to_split;;
これは単純すぎるため、文字列の前にバックスラッシュを付けてエスケープする必要があります。
私はこれを試しました:Str.regexp "((?!\\).)/"
しかし、Ocamlパーサーが生成するものでは機能しません:uncaught exception Failure("spurious \) in regular expression")
何か案は?
Ocaml-parser は文字列のバックスラッシュを自動的にエスケープするので、: のような文字列
"foobar\/barfoo"
は"foobar\\/barfoo"
. したがって、文字列内の偶数のバックスラッシュをすべて実際に削除したい場合があります。