问题标签 [regular-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 常规语言(是或否)
我的任务是检查这种语言是否是常规语言:
我既找不到正则表达式,也找不到确定性(或非)有限状态自动机。另一方面,我没有找到任何方法来证明泵引理定理的反面。
有任何想法吗?
compiler-construction - 类型 3 语法 - 正则表达式
我读过一个说明,类型 3 语法不能同时拥有这两种产品
其中 A,B 是非终结符,a 是终结符
我对类型 3 了解得够多了,但我无法理解上述内容
regex - 理解(并形成)这个有限自动机的正则表达式
对于上述自动机,我的教科书中给出的正则表达式如下:
我无法得出这个...以下是我的尝试:
要么我错了,要么我无法将其简化为书中给出的形式。有人可以在这里指导我,指出错误或逐步向我解释吗?
我真的很感激和感激。
finite-automata - Brzozowski代数法在该FA上的应用
早些时候,我在这里问了一个问题,寻求将有限自动机的转移图转换为正则表达式的帮助:
感谢用户 Patrick87,我能够找到我正在寻找的帮助。我还阅读了他在回答中提到的以下链接:
http://krchowdhary.com/toc/dfa-to-reg-exp.pdf
它解释了三种查找正则表达式的算法方法。直觉上,我被 Brzozowski 代数方法所吸引,并试图解决我在上一篇文章中寻求帮助的 FA,该问题在顶部提到。
以下是我为FA制作的特征方程。如果我错了,请告诉我并纠正我,并指出我正确的方向!
R1 = bR2 + aR3
R2 = aR2 + bR4
R3 = aR3 + bR2 + λ
R4 = aR4 + bR3
这些是正确的吗?如果是,那么我该如何进行替换,因为每个 Ri 都将根据 Rj 来表示,其中 i≠j。
请帮忙 :D
regex - 应该如何继续证明(或查找)两个正则表达式是否相同或等价?
例如,在给我的作业中,我们被要求找出两个正则表达式是否相等。
我的问题是如何做到这一点?如果我为两者绘制转换图,然后通过它运行一些字符串并显示两个 TG 都能够接受它,这是一个充分的证据吗?如果没有,我该怎么做?对此有数学/公理化方法吗?
提前致谢。
编辑:我想澄清另一件事,这与这个问题有关。下图中描绘的两个 FA 是否相同?
即上图中的(1)和(2)是一样的吗?
parsing - haskell 标识符识别
我正在使用 Haskell 进行文件解析,并且我同时使用Data.Attoparsec.Char8
和Data.ByteString.Char8
. 我想解析一个可以包含符号的表达式:- / [ ] _ 。(减号、斜线、括号和下划线)。
我写了以下解析器
...但它不像预期的那样工作。
有人能帮我吗。
谢谢你的时间。
jquery - # 和 # 和尾随空格之间的文本的正则表达式
我正在尝试获取正则表达式:
- 获取“#”以及“#”和结尾“\t”(空格)之间的所有文本。
到目前为止,我有:
这似乎是错误的?我能做些什么来修复它?
regex - 找到注册。经验。超过 {0,1,2} 所以字符串的最后一个符号是字符串 mod 3 上的符号之和。
我正在自学正式语言(Aho's,Hopcroft),但我很难使用正则表达式。
我已经能够处理简单的任务,但这一项已经构成了挑战,至少对我来说是这样。如果你不能算到现在怎么解决这个问题,我不习惯这种类型的计算。
一定有一些属性或东西可以让我概括答案,我可以把它作为一个常规表达式。
到目前为止,我已经设计出至少有 2 到 3 种情况:
- 如果 sum=3k,则求和 mod3=0
- 如果 sum=3k+1,则求和 mod3=1
- 如果 sum=3k+2,则求和 mod3=2。
但是我已经意识到,可能有很多组合会发生求和,所以找不到正则表达式必须遵循的模式。
ex的字符串。(大括号是为了便于阅读)如果总和是字符串中的“10”,则{122211}0
末尾有零。情况可能是这样的,所以必须在最后,依此类推。{sum=3k}0
{1222111}1
{sum=3k+1}
这可能是解决问题的正确途径,也可能不是解决问题的正确方法,但我愿意接受任何建议,非常感谢任何帮助。
grammar - 常规语言和常规语法之间的区别
我的书对常规语法和常规语言给出了相似但略有不同的解释。我怀疑这是错误的,常规语言与常规语法相同吗?我的书的定义是:如果所有产生式都是 V-> aW 或 V->Wa 且带有 V,W 非终结符或终结符,则语法是规则的,“a”终结符。W 也可以为空或相同V.
regex - 替换最短匹配的正则表达式
我的字符串是这样的 sfdfdsfdsf start112matlab2336end gfdgdfgkknfkg start558899end dfdsfd
我们如何替换字符串的一部分以使结果为
sfdfdsfdsfgfdgdfgkknfkgdfdsfd
即需要删除粗体内容。