1

文字列の正規表現を作成しようとしています-

  1. 「×」で始まります。
  2. 「x」の後に「98」がありません

次の正規表現を書きましたが、機能していません

^x[0-8]|^x9[0-7]|^x99.*$

誰かが間違っていることを指摘できますか?または、この場合のより良い正規表現は何ですか?

4

3 に答える 3

3

次のようなものにする必要があります。

^x(?!98).* //(?!pattern) is a negative lookahead
于 2013-03-13T14:48:54.857 に答える
1

否定先読みを使用できます。

^x(?!98)\d{2}.*$

これは、次の文字列に一致します

  • ^x– で始まるx
  • \d{2}–その後に2桁が続きます(これは正規表現から推測しました。説明にはこれについて言及されていません)
  • (?!98)– 98ではない
  • .*$– そして、文字列の最後まで任意に拡張します

(最後の要件が何のためのものかはわかりません。おそらくそのままでいいと思います^x(?!98)\d{2}。)

于 2013-03-13T14:48:29.710 に答える
1

これはあなたの状況でうまくいくかもしれません:

^x(?!98)
于 2013-03-13T14:50:57.407 に答える