1

問題が発生しています。次の状況の正規表現が何であるかを理解しようとしています。ここで、返された場合に次のいずれかに一致させたいと考えています。

               ABC 1 or 
               ABC 1 0  or
               ABC 1 0 1  or 
               ABC 1 0 1 0 or etc

これを実現するために次のことを試みていますが、最初の文字列 (ABC 1) のみに一致します。

               regular expression: ABC (1|0)+

私は長い間これを理解しようとしてきましたが、理解できないようです。誰か助けてくれませんか?

ありがとう

4

2 に答える 2

2

最初に 1、次に 0、次に別の 1、次に 0 などを確認したい場合は、次のように使用できます。

re.match(r'ABC(?: 1(?: 0|$))+$', s)

正規表現101のデモ

編集:順序を気にしない場合は、これを使用できます:

re.match(r'ABC(?: [01])+$', s)
于 2013-09-19T19:33:15.523 に答える
0

ABC1(01)*0?

ABC、次に 1、0 個以上の 0 1、最後にオプションの 0 です。もちろん、空白が必要ないと仮定します。

各「部分」の後に単一のスペースが必要な場合:

ABC 1( 0 1)*( 0)?

于 2013-09-19T19:30:17.440 に答える