1

次のシナリオの正しい正規表現を考え出すのに苦労しています。

http- で始まるか、何もない単語に一致させる必要があるとしましょう

例: http-test-data、test-data は一致する必要がありますが、xyz-test-data は一致しないはずです

私がこれまでに思いついた正規表現は

(?:http-)?(テストデータ)

ただし、xyz-test-data にも一致します。

4

3 に答える 3

2

次のように簡単に使用できます。

(?: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
于 2013-04-17T06:52:49.633 に答える
1

この表現を試してください

^(http-|)(test-data)
于 2013-04-17T06:46:48.770 に答える
0

?に があるので、はい(?:http-)。次に、正規表現は、 を含む任意の文字列にも一致しますtest-data

于 2013-04-17T06:39:01.690 に答える