我试图寻找答案,但得到的答案相互矛盾,所以我不确定。我知道反之亦然,如果 L 是正则,那么 L* 在闭包下也是正则。
我想如果 L* 是规则的,那么 L 是规则的,因为 L* 的子集应该是规则的,并且 L 是该子集的一部分。
我试图用正则表达式匹配长度宽度和高度。
我有以下情况
Artikelgewicht3,7 Kg
Produktabmessungen60,4 x 46,5 x 42 cm
or
Artikelgewicht3,7 Kg
Produktabmessungen60 x 46 x 42
or
Artikelgewicht3,7 Kg
Produktabmessungen60 x 46
Run Code Online (Sandbox Code Playgroud)
第二种情况可以与 匹配(\d+) x (\d+) x (\d+),效果很好。
我进一步尝试将第一个和第三个案例与(\d+)(\\,\d+)? x (\d+)(\\,\d+)? x (\d+)(\\,\d+)?.
任何建议我做错了什么?
我想使用 grep 和正则表达式来搜索文本文档。\n当我输入以下内容时:
\n\ngrep -o ((D|d)ie|(D|d)as|(D|d)e(r|n|m|s)|(ei|Ei)(n|ne|nen|nem|ner|nes)) [A-Z\xc3\x84\xc3\x96\xc3\x9c][A-Za-z\xc3\xa4\xc3\xb6\xc3\xbc]* document.txt\nRun Code Online (Sandbox Code Playgroud)\n\n我明白了:
\n\n-bash: syntax error near unexpected token `('\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试将正则表达式放在引号中。通过这样做,我没有收到错误,但也没有找到任何东西。感谢你们对我的帮助。
\n\n例如,我的文档中有以下句子:
\n\nDer Mann und die Frau haben ein Haus.\nRun Code Online (Sandbox Code Playgroud)\n\n我想提取:
\n\nDer Mann\ndie Frau\nein Haus\nRun Code Online (Sandbox Code Playgroud)\n 我想把一个句子分解成词。如果它只包含空格,则.split(/\s+/)有效。
但是如何也可以用逗号分割,并将逗号保留在结果数组中?
我试过这样的事情,但它不起作用:
.split(/(?=,)|(?!=,)|\s/)
Run Code Online (Sandbox Code Playgroud)
示例输入:
"this,is, a test"
Run Code Online (Sandbox Code Playgroud)
预期输出:
["this", ",", "is", ",", "a", "test"]
Run Code Online (Sandbox Code Playgroud)
我怎么了?甚至可以只使用正则表达式吗?
无上下文语言和常规语言的交集始终是无上下文的,但是在集合交集下不关闭无上下文语言.任何人都可以解释为什么如果所有常规语言都没有上下文,两个定理都是正确的(相反的情况并非总是如此)?
快速问题,如果a是正则表达式那么这是真的a* = (a*)*吗?
是(a*)*一个有效的表达?如果是,那么任何人都可以解释为什么它是一样的a*?我在这里问道歉,但我找不到谷歌的任何东西.
我知道上述定理的逆是不正确的,即如果L是规则的,那么L的每个子集都不需要是规则的
使用泵引理,我们可以很容易地证明,语言L1 = {WcW^R|W ? {a,b}*}是不是正规的语言.(字母是{a,b,c}; W ^ R代表反向字符串W)
然而,如果我们替换字符c用"x"(x ? {a,b}+),比如说L2 = {WxW^R| x, W ? {a,b}^+},则L2 是一个普通的语言.
你能给我一些想法吗?
对任何"为什么不是这个正则表达式工作html的典型回应!?!" 问题是"因为HTML不是常规语言".
所以,我很好奇是否有人有常用语言的常用编程语言列表,因此适用于正则表达式匹配.我知道有一些方法可以确定一种语言是否规则(逐个案例),但对于复杂的语言,证明也可能非常复杂.我想也许快速检查一下语言可能会很有用.
我也知道你可以用非常规语言做正则表达式,但它们并不总是可靠的(html示例).
regex language-agnostic programming-languages regular-language
我正在使用正则表达式(\b\w+\b)\W+\1{3,}来过滤重复三次或更多次字符串的网址.我想(\b\w+\b)\W+\1{3,}还是(\b\w+\b)\W{3,}+\1但没有帮助
http://rubular.com/r/6IyCPyBiuW - > (\b\w+\b)\W+\1- >这可以找到重复多次的单词,但我有兴趣找到重复三次以上的单词.
http://rubular.com/r/O9NcobUsTX - > (\b\w+\b)\W+\1{3,}- >这不能找到重复三个或更多的单词
regular-language ×10
regex ×4
algorithm ×1
automation ×1
bash ×1
dfa ×1
grep ×1
javascript ×1
nfa ×1
shell ×1
split ×1
unix ×1