如何在将语法转换为正则表达式时编写 "or" 操作
how to write an "or" operation while translating Grammar to regex
我想将以下语法翻译成正则表达式
A -> bcA | dD |aB
B -> aB |a
D -> dD |d
所以这里的字符串将以 a 或 d 结尾
正则表达式将以 (bc)+ 开头
但是谁能解释一下如何在语言的正则表达式中编写 d+/a+?
你也可以试试这个方法:
(bc)*(d{2,}|a{2,})
这取决于您使用的正则表达式方言。
通常,()
分组中的 |
会创建一个 'or',例如:
th(er|os)e
... 匹配 'there' 或 'those'.
但是请检查您方言的文档,检查是否必须转义括号,是否“|”是否支持等等。
我想将以下语法翻译成正则表达式
A -> bcA | dD |aB
B -> aB |a
D -> dD |d
所以这里的字符串将以 a 或 d 结尾
正则表达式将以 (bc)+ 开头
但是谁能解释一下如何在语言的正则表达式中编写 d+/a+?
你也可以试试这个方法:
(bc)*(d{2,}|a{2,})
这取决于您使用的正则表达式方言。
通常,()
分组中的 |
会创建一个 'or',例如:
th(er|os)e
... 匹配 'there' 或 'those'.
但是请检查您方言的文档,检查是否必须转义括号,是否“|”是否支持等等。