Σ= {0,1}を超える文字列の集合で構成される正規表現を作成します。 入力は1または0のみを含む文字列です。バイナリ文字列を検索する必要があります。次の条件の正規表現
言語の各文字列のいずれかであるように:
(A)は、5つの連続0の配列を有する、または
(B)は、連続の奇数の配列を有します。ある時点で連続する1の偶数のシーケンスが続く。
したがって00000、000000、11100000、11111、および10011は言語で、 ですが、110000はそうではありません。
Σ= {0,1}を超える文字列の集合で構成される正規表現を作成します。 入力は1または0のみを含む文字列です。バイナリ文字列を検索する必要があります。次の条件の正規表現
言語の各文字列のいずれかであるように:
(A)は、5つの連続0の配列を有する、または
(B)は、連続の奇数の配列を有します。ある時点で連続する1の偶数のシーケンスが続く。
したがって00000、000000、11100000、11111、および10011は言語で、 ですが、110000はそうではありません。
あなたは2つの正規表現を連結する必要が連続5 0
と
^1(?:11)*0*(?:11)*0*$
グループ彼らは一致します。
0{5}|^1(?:11)*0*(?:11)*0*$
説明:
^ : start of string
1 : a 1
(?: : start non capture group
11 : that contains two 1
)* : repeated 0 or more times, after that you have an odd number of 1
0* : 0 or more 0
(?: : start non capture group
11 : that contains two 1
)* : repeated 0 or more times, you then have an even number of 1
0* : 0 or more 0
$ : end of string
ありがとう@toto、それは働いた。 –
@MoidShaikh:喜んで助けてくれることを歓迎します。回答を受け入れられたとしてマークしてください。http://stackoverflow.com/help/someone-answers – Toto
^[01]*0{5,}[01]*|[01]*11$
(a)は、それが一致する必要がありますが、(b)は、私は非常に明確ではありませんよ、それは11
で終わりを意味するのか?
0{5}
:
私はそれを持っています。 https://regex101.com/r/SqyERe/1ヘルプありがとう@Kerwin –
すでに試してみましたが、あなたはどの問題が発生したのは何? [宿題に関する質問](http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions)のように見えます。 – yeputons
なぜ「111」は受け入れられますか?いずれの条件とも一致しません。 – ClasG
[regex for it](https://regex101.com/r/SqyERe/1)を書くと、私はそれを実現します** **はbの下に落ちます。 – ClasG