问题标签 [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.

0 投票
1 回答
436 浏览

regex - 常规语言(是或否)

我的任务是检查这种语言是否是常规语言:

我既找不到正则表达式,也找不到确定性(或非)有限状态自动机。另一方面,我没有找到任何方法来证明泵引理定理的反面。

有任何想法吗?

0 投票
1 回答
692 浏览

compiler-construction - 类型 3 语法 - 正则表达式

我读过一个说明,类型 3 语法不能同时拥有这两种产品

其中 A,B 是非终结符,a 是终结符

我对类型 3 了解得够多了,但我无法理解上述内容

0 投票
2 回答
724 浏览

regex - 理解(并形成)这个有限自动机的正则表达式

在此处输入图像描述

对于上述自动机,我的教科书中给出的正则表达式如下:

我无法得出这个...以下是我的尝试:

要么我错了,要么我无法将其简化为书中给出的形式。有人可以在这里指导我,指出错误或逐步向我解释吗?

我真的很感激和感激。

0 投票
1 回答
1825 浏览

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

0 投票
6 回答
16034 浏览

regex - 应该如何继续证明(或查找)两个正则表达式是否相同或等价?

例如,在给我的作业中,我们被要求找出两个正则表达式是否相等。

我的问题是如何做到这一点?如果我为两者绘制转换图,然后通过它运行一些字符串并显示两个 TG 都能够接受它,这是一个充分的证据吗?如果没有,我该怎么做?对此有数学/公理化方法吗?

提前致谢。

编辑:我想澄清另一件事,这与这个问题有关。下图中描绘的两个 FA 是否相同?

在此处输入图像描述

即上图中的(1)和(2)是一样的吗?

0 投票
2 回答
358 浏览

parsing - haskell 标识符识别

我正在使用 Haskell 进行文件解析,并且我同时使用Data.Attoparsec.Char8Data.ByteString.Char8. 我想解析一个可以包含符号的表达式:- / [ ] _ 。(减号、斜线、括号和下划线)。

我写了以下解析器

...但它不像预期的那样工作。

有人能帮我吗。

谢谢你的时间。

0 投票
1 回答
255 浏览

jquery - # 和 # 和尾随空格之间的文本的正则表达式

我正在尝试获取正则表达式:

  • 获取“#”以及“#”和结尾“\t”(空格)之间的所有文本。

到目前为止,我有:

这似乎是错误的?我能做些什么来修复它?

0 投票
1 回答
148 浏览

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}

这可能是解决问题的正确途径,也可能不是解决问题的正确方法,但我愿意接受任何建议,非常感谢任何帮助。

0 投票
3 回答
8079 浏览

grammar - 常规语言和常规语法之间的区别

我的书对常规语法和常规语言给出了相似但略有不同的解释。我怀疑这是错误的,常规语言与常规语法相同吗?我的书的定义是:如果所有产生式都是 V​​-> aW 或 V->Wa 且带有 V,W 非终结符或终结符,则语法是规则的,“a”终结符。W 也可以为空或相同V.

0 投票
3 回答
8305 浏览

regex - 替换最短匹配的正则表达式

我的字符串是这样的 sfdfdsfdsf start112matlab2336end gfdgdfgkknfkg start558899end dfdsfd

我们如何替换字符串的一部分以使结果为

sfdfdsfdsfgfdgdfgkknfkgdfdsfd

即需要删除粗体内容。