标签: regular-language

从正则语言派生正则表达式

鉴于下面的语言,我如何找到该语言的正则表达式

L = {a ^nb ^m | n => 1, m =>1, nm =>3}

regex regular-language

2
推荐指数
1
解决办法
5403
查看次数

你能解释一下这个正则表达式吗?

我是正规表达的新手,在学习中我在一些基本的困惑中,你可以解释这个表达

询问

SELECT REGEXP_REPLACE('Having fun with', '([a-z])+', 'A') FROM dual;
Run Code Online (Sandbox Code Playgroud)

结果:

HA A A
Run Code Online (Sandbox Code Playgroud)

询问

SELECT REGEXP_REPLACE('Having fun with', '([a-z])*', 'A') FROM dual;
Run Code Online (Sandbox Code Playgroud)

结果:

AHAA AA AA
Run Code Online (Sandbox Code Playgroud)

根据这些查询及其结果,我无法理解+和*之间的主要区别.

regex oracle10g regular-language

2
推荐指数
1
解决办法
70
查看次数

常规语言的有限性

我们都知道这(a + b)*是一种仅含有符号a和符号的常用语言b.但是(a + b)*是一个无限长度的字符串,它是规则的,因为我们可以建立一个有限的自动机,所以它应该是有限的.

有人可以解释一下吗?

automata finite-automata regular-language formal-languages automata-theory

2
推荐指数
1
解决办法
2266
查看次数

如何将语言集表示法转换为正则表达式?

我在正则表达式中进行了以下任务,我无法理解这些问题.

L1 = {0 n 1 m | n≥3∧m是奇数}

当字母为{0,1}时,如何为这类问题编写正则表达式.

regex regular-language

2
推荐指数
1
解决办法
1876
查看次数

常规语言和连接

常规语言在串联下是封闭的 - 这可以通过将一种语言的接受状态与 epsilon 转换为下一种语言的开始状态来证明。

如果我们考虑语言 L = {a^n | n >=0},这种语言是正则的(它只是一个*)。如果我们将它与另一种语言连接起来 L = {b^n | n >=0},这也是正则,我们最终得到a^nb^n,但我们显然知道这不是正则。

我的逻辑哪里出了问题?

concatenation finite-automata fsm regular-language

2
推荐指数
1
解决办法
7388
查看次数

正则语言的并集是正则的吗?

如果语言 L1,...,Ln 是正则的,那么它们的并集也是正则的吗?

我们知道两种正则语言的并集就是正则语言。如何证明多个正则语言的并集也是正则的?

proof regular-language

2
推荐指数
1
解决办法
2458
查看次数

'\$' 正则表达式将匹配什么?

我发现,

$ :       Matches the end of the line
\s:       Matches whitespace 
\S:       Matches any non-whitespace character
Run Code Online (Sandbox Code Playgroud)

但是\$究竟做什么?

regex regular-language

2
推荐指数
1
解决办法
2万
查看次数

如何在 Sublime Text 中用制表符替换所有 2 个空格组?

我想将使用 2 个空格缩进的文件转换为使用制表符的文件。我如何指定这个正则表达式替换

我可以用这个找到正则表达式:/^( )+/ 但是我现在如何用制表符替换每个 2-space 组?

提前致谢。

regex regular-language sublimetext3

2
推荐指数
1
解决办法
1917
查看次数

正则表达式匹配字符串中重复两次的前几个字符

我面临一个问题,即在 R 语言的字符串中查找前几个 (>=2) 字符重复两次的所有字符串。
例如

字符串应该选择出
(1) all ochir all y ------> 前 3 个字符 'all' 在字符串中重复两次
(2) froufrou ------> 前 4 个字符 'frou' 在字符串中重复两次
(3) under gro under ------> 前 5 个字符 'under' 在字符串中重复两次

琴弦应NOT选择出
(1)gummage ------>甚至第一个字符'G'重复两次,但只有1个字符,不匹配条件为> = 2个第一字符
(2)hypergoddess ------ > 没有前几个字符重复两次
(3) kgashga ------> 甚至 'ga' 重复两次,但不包括第一个字符 'k',不匹配需要包括第一个字符的条件

听说backreference(例如 \b 或 \w)可能会有所帮助,但仍然无法弄清楚,您能帮忙弄清楚吗?

注意:我看到有一个函数作为xmatch <- str_extract_all(x, regex) == x使用的方法,str_extract_all来自library(stringr)

x <- c("allochirally", "froufrou", "undergrounder", …
Run Code Online (Sandbox Code Playgroud)

regex string r regular-language

2
推荐指数
1
解决办法
1249
查看次数

正则表达式检测 Zalgo

我正在创建一个消息过滤系统,它检测 z???a???l???g???o???。

我当前的正则表达式是,/([^\u0009-\u02b7\u2000-\u20bf\u2122\u0308]|(?![^aeiouy])\u0308)/gm 但这也捕获表情符号。

正则表达式应该过滤所有 w???e???i???r???d??? ???文本??????喜欢??????这个???或 t?e?x?t? ?喜欢??t?h?i?s?,但不应捕捉表情符号。

javascript regex string regular-language zalgo

2
推荐指数
1
解决办法
602
查看次数