0

私は正規表現を学んでいるので、自分の理解が正しいことを確認したいだけです。

01*0 の後に 1 の 0 回以上の繰り返しが続くことを
1* + 01*意味します。 は、1 の 0 回以上の繰り返しまたは 0 の後に 1 の 0 回以上の繰り返しが続くことを意味します。

私は正しいですか、それとも欠けているものがありますか? ありがとう。

4

2 に答える 2

2

正規表現の + は OR を意味するのではなく、「の 1 つ以上」を意味します。

したがって、1* + 01* の代わりに次のように言います。

1*|01*

これは、1 の (長さ 0 の可能性がある) 文字列、または 0 の後に (長さ 0 の可能性がある) 1 の文字列のいずれかを意味します。

したがって、次のいずれかに一致します。

1
1111
0
011

しかし、次のどれもありません:

101
110
100001
001
00

OR 演算子 (垂直パイプ) の優先順位は低くなります。

于 2013-12-01T09:16:05.347 に答える
0

これは私には正しいようです。(私は正規表現の達人ではないと思っていましたが)

しかし、ここにあなたがチェックアウトできる 良いチュートリアルがあります. これも便利だと思いました。

于 2013-12-01T09:08:05.337 に答える