-2
「?」を表すことができるかどうか質問したいと思います。 union(+)とclosure(*)の量子のみを使用しています。正規表現では、 "?"の代わりにする方法ユニオン(+)とクロージャ(*)の量指定子のみを使用して一致するか?
たとえば、「a +」は「a(a *)」と表すこともできます。どのように "a"を表現できますか? 「*」と「+」だけで?
おかげ:)
「?」を表すことができるかどうか質問したいと思います。 union(+)とclosure(*)の量子のみを使用しています。正規表現では、 "?"の代わりにする方法ユニオン(+)とクロージャ(*)の量指定子のみを使用して一致するか?
たとえば、「a +」は「a(a *)」と表すこともできます。どのように "a"を表現できますか? 「*」と「+」だけで?
おかげ:)
a?
に述べたように、+ε として表現することができ、a+
はaa*
として表すことができます。
"a +ε"にはεとは何ですか?正規表現のようには見えません。 –
あなたは、少なくとも0個の前回の文字か最大で1個の一致を意味する{0,1}を使うことができます。 – FrenchMajesty
'+'と '*'だけでは不可能です。交替( '(a |)')やグループとルアラップ( ''(?!\ 2)())* ')やその他のツールを取得する必要があります。 –
返事をありがとう。私はこの質問を提起した。なぜなら私はオートマトンの模擬試験の質問の一つに詰め込まれているからだ。ユニオン(+)、クロージャー(*)、および連結式を使用してすべての言語を記述することができます。 –