2017-02-06 12 views
0

"0"と "1"の文字だけを含む文字列にマッチする正規表現を作成しようとしています。 "010"。文字列は1110のように、0で終了した場合、それが有効である必要があり、正規表現は真中で終了する

私の考えでは、この 1 *(011 +)のようなもの*

ましたが、問題が表示されます。私の正規表現では、0の後に2つ以上のものを続ける必要がありますが、私はこの特定の例外をどうやって作るのか分かりません。

0の後に2つ以上のものが続くように強制する正規表現が必要です。また、終了するには正規表現が必要です。これにより、「111111」のように、未確認配列が存在しない明白な「1で終わる」場合に加えて、0および01で終わる配列が可能になる。

正規表現で条件を「短く」カットして、それを自分のルールに従って進めるか、そこで終わらせることができますか?

+0

['^(?![01] * 01?0)[10] + $'](https://regex101.com/r/hxuCjh/1)を使用してください。 –

答えて

1

あなたはこのようなあなたの正規表現を修正することができます:

1*(011+)*(01?)? 

は不完全ゼログループと一致した最後の(オプション)グループ、すなわち001を追加します。

+0

それを読んだ後はとても分かりやすいようです。どうもありがとうございました! –

関連する問題