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