Ocamlで正規表現を使用して完全一致を見つける方法は?正規表現を使用してOcamlの正確な文字列に一致する
let contains s1 s2 =
let re = Str.regexp_string s2
in
try ignore (Str.search_forward re s1 0); true
with Not_found -> false
s2は「_X_1」で、s1は、「A_1_X_1」、「A_1_X_2」のような文字列を供給....ので、関数への上に「含む」:例えば、私はこのようなコードを持っています。目的は、s1が「A_1_X_1」のときに完全一致を見つけることです。しかし、現在のコードでは、s1が "A_1_X_10"、 "A_1_X_11"、 "A_1_X_100"などであっても一致します。
"_X_1"、 "[_X_1] $"は "_X_1"ではなく[動作していないようです。誰かが間違っていることを示唆することはできますか?
、通訳なしメタキャラクター –
はい、あなたは正しいです。 "A_1_X_1"も含まれています。 "_X_1 $"が偽を返します。 –
はい、私は "_X_1"を渡すとStr.regexp_stringが^ _X_1 $を返すことを期待していました。したがって、私のコードはそのように書かれました。しかし、Str.regexp_stringは何か他のことをしています... –