次のシナリオの正しい正規表現を考え出すのに苦労しています。
http- で始まるか、何もない単語に一致させる必要があるとしましょう
例: http-test-data、test-data は一致する必要がありますが、xyz-test-data は一致しないはずです
私がこれまでに思いついた正規表現は
(?:http-)?(テストデータ)
ただし、xyz-test-data にも一致します。
次のシナリオの正しい正規表現を考え出すのに苦労しています。
http- で始まるか、何もない単語に一致させる必要があるとしましょう
例: http-test-data、test-data は一致する必要がありますが、xyz-test-data は一致しないはずです
私がこれまでに思いついた正規表現は
(?:http-)?(テストデータ)
ただし、xyz-test-data にも一致します。
次のように簡単に使用できます。
(?:http-|^)(test-data)
これは、 の後ろ読みが正かどうか、http-
または の前の文字列の先頭かどうかをテストしますtest-data
。
たとえば、次のようなサンプル データの場合:
http-test-data
xyz-test-data
http-test-data
xyz-test-data
test-data
yes-yes-test-data
-test-data
次のようになります。
http-test-data
http-test-data
test-data
この表現を試してください
^(http-|)(test-data)
?
に があるので、はい(?:http-)
。次に、正規表現は、 を含む任意の文字列にも一致しますtest-data
。