regex - 涉及模运算的正则表达式

标签 regex dfa

我正在尝试为该语言创建 DFA 或正则表达式

L = {an bm | n mod 3 = m mod 3}`

例如,L 包含字符串 aaabbb、aaabbbbbb 和 abbbb。

但是,我在这里无法取得任何进展。我怎样才能做到这一点?

最佳答案

只有三个可能的余数模三。您可以通过列出处理这三种情况中的每一种情况的正则表达式,然后将它们联合在一起来为该语言构建一个正则表达式。这是一个可能的答案:

(aaa)*(bbb)* | a(aaa)*b(bbb)* | aa(aaa)*bb(bbb)*

希望这对您有所帮助!

关于regex - 涉及模运算的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817819/

相关文章:

regex - 为 NLP locutions 编码文本的高效 SQL 语句

c# - 查找字符串中的所有大写字母 - 正则表达式 C#

javascript - 如何在 JavaScript 中将模式与数组进行匹配?

c++ - DFA构造函数报错,有效声明怎么办?

regex - 将调节表达式转换为 DFA

compiler-construction - nfa 与 dfa 的时间复杂度权衡

javascript - 匹配可能包含标点符号的单词边界的正则表达式

python - 正则表达式提取日期和特定字符串

c++ - Myhill-Nerode 定理矩阵到自动机

theory - 如何将 DFA 转换为图灵机?