问题标签 [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.
compiler-construction - 普通语言?
我有一个编译器问题。
确定是否 {(ab)^n | n >= 0} 是常规语言吗?
但我可以画出它的 NFA。但是如果我使用抽引引理,我会得到一个矛盾的答案。
谁能帮我 ?
regex - 用英语描述 RE
我在过去的试卷中有以下问题:
我正在努力在必要的 15 个字限制内将它们的定义正式化。到目前为止,我有:
i) 包含零个或多个 a 或 b 或两者的空字符串或字符串集
ii) 以一个或多个 a 开头的字符串集合,除非前面有 b,然后是一个或多个 a,前面有零个或多个可能的 b。
我的定义看起来相当繁琐......我只是不想通过过度简化定义来丢失任何信息。
php - 如何使用正则表达式识别空格
我将如何扩展这个 preg_replace (在 PHP 中),使用正则表达式来替换空格也..
它用于根据页面标题生成页面永久链接。“关于我”将变成“关于我”。一切都很好,只是它还没有删除空间。
谢谢!
syntax - 什么是常规语言?
我正在尝试理解语言级别的概念(常规、上下文无关、上下文相关等)。
我可以很容易地查到这个,但我找到的所有解释都是一堆符号和谈论集合。我有两个问题:
你能用语言描述什么是常规语言,以及这些语言有什么不同吗?
人们从哪里学会理解这些东西?据我了解,它是形式数学?我在大学有几门课程使用它,几乎没有人理解它,因为导师只是假设我们知道它。我在哪里可以学习它,为什么人们“期望”在这么多来源中知道它?好像教育有差距。
这是一个例子:
属于该集合的任何语言都是字母表上的常规语言。
一种语言怎么能“超越”任何东西?
javascript - 用于解析 PING 命令提供的信息的 Javascript 正则表达式
我有一个在 ping 后获取输出的脚本,输出如下所示:
我首先尝试获取传输了多少数据包。所以我尝试了这个正则表达式: (\d+)*\spackets
基本上与“NUMBER 个数据包”相匹配,它似乎在这个网站上工作:http ://www.regular-expressions.info/javascriptexample.html但我无法复制它。
并且当使用正则表达式进行匹配时,它也会失败,如下所示:
有任何想法吗?
regex - 正则表达式星号
也许我错过了一些东西,但是这个正则表达式有什么问题?
你能解释一下为什么/\d*/.exec(str);
返回一个空字符串而不是“12345”。 *
表示零个或多个匹配。
context-free-grammar - 上下文无关语言的闭包性质和与常规语言的交集
上下文无关语言和常规语言的交集始终是上下文无关的,但上下文无关语言在集合交集下不封闭。如果所有常规语言都是上下文无关的(相反的情况并非总是如此),谁能解释为什么这两个定理都是正确的?
grammar - 是否可以证明 L 是正则语言?
让L = {a^f(m) | m >= 1 }
wheref: Z^+ -> Z^+
是单调递增的,并遵守对于其中的所有元素n
都有Z^+
属于m
这样Z^+
的f(m+1) - f(m) >= n
。
是否可以证明 L 是正则语言?
regex - 轻量级正则表达式优化
我有一个正则表达式,它是计算机程序的输出。它有类似的东西
毫无疑问,人类会写成
所以我想要一个可以进行简单转换的程序,使正则表达式更具可读性。到目前为止,我一直在使用快速脚本
降低了长度,但结果仍然包含像
应该简化为
我搜索了 CPAN 并找到了 Regexp::List、Regexp::Assemble 和 Regexp::Optimizer。前两个不适用,第三个有问题。首先,它不会通过测试,所以除非我force install Regexp::Optimizer
在 cpan 中,否则我不能使用它。其次,即使我这样做了,它也会让表情窒息。
注意:除了 [regex] 之外,我还标记了此 [regular-language],因为 regexp 仅使用串联、交替和 Kleene 星号,因此它实际上是常规的。
java - 带组的 Java 正则表达式
我想替换所有出现的字符串,例如:
但是如何处理包含字符串而不是字符的组?
- 编辑:
例如给定字符串:
我想拥有
或更好,但它唯一的 replaceAll 参数