うーん、@ChristianTernusの削減に同意するかどうかはわかりません。
これらが暗黙的に固定されていると仮定すると、元の(ab|b)*|(ba|b)*
英語の は次のようになります。
- and 、またはで完全に構成される文字列
ab
b
- とだけで構成される文字列。
ba
b
したがって、たとえば、abb
は第 1 種にbba
は一致しますが第 2 種には一致しません。また、第 2 種には一致しますが第 1 種には一致しません。
その間、どのように還元abb
ともbba
一致しないかに注意してください(ab)*|(ba)*|(b)*
。これは実際には、
- 、またはで完全に構成される文字列
ab
- 、またはで完全に構成される文字列
ba
- で完全に構成された文字列
b
。
実際、あなたがそれを英語化した方法は、すでに最高だったと思います! ただし、次のようにスタイルします。
この正規表現は、完全に 'a' と 'b' で構成され、連続する 'a' がなく、最初の文字が 'a' の場合に最後の文字が 'b' である文字列を表します。
あなたがすでに書いたものとほぼ同じです。
@ChristianTernus (および @slebetman) が指摘するように、上記は、元の式が null 文字列 (または、私の英語化からは明らかではない「a」のない文字列でさえも) を受け入れることを考慮していないため、実際には私は信じていますOPの英語化は確かに最強でした。