标签: regular-language

Kotlin正则表达式边界匹配不起作用

我正在尝试解析一个单词,该单词两侧都有空格或标点符号。

我试过这个:


fun main(args: Array<String>) {
    val regex = "\bval\b".toRegex();
    regex.matches("fn foo() { val x = 2;} x;").also { println(it) }
}
Run Code Online (Sandbox Code Playgroud)

但这打印出来是错误的。我在这里测试了正则表达式https://regex101.com/r/vNBefF/2并且它有效,与输入字符串匹配。

我究竟做错了什么?

regex regular-language kotlin

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

在给定任何常规语言L的情况下,展示一种确定L = L*的算法

我正在研究会员算法,我正在研究这个特殊问题,其中说明如下:

展示一种算法,给定任何常规语言L,确定L = L*

所以,我的第一个想法是,我们有L*是L的Kleene星并且确定L = L*,我们不能只是说因为L是常规的,我们知道L*是根据定义指出的常规语言系列在星光关闭下关闭.因此L总是等于L*?

我觉得肯定还有很多东西,可能还有我想念的东西.任何帮助,将不胜感激.再次感谢.

membership algorithm regular-language

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

有歧义的正则语法?

这样的事情存在吗?如果是这样,你能提供一个例子吗?谢谢。

grammar computation-theory regular-language formal-languages

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

正则表达式星符号

也许我错过了一些东西,但是这个常规表达有什么问题?

var str = "lorem ipsum 12345 dolor";
var x = /\d+/.exec(str);
var y = /\d*/.exec(str);
console.log(x); // will print 12345
console.log(y); // will print "" but why ? 
Run Code Online (Sandbox Code Playgroud)

你能解释为什么/\d*/.exec(str);返回一个空字符串而不是"12345". *表示零个或多个匹配项.

regex regular-language

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

正则表达式等价

以下正则表达式是否等效为真?为什么或者为什么不?

(ab)* u (aba)* = (ab u aba)*

*= Kleene明星

你=联盟(集合理论)

regex finite-automata regular-language

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

手工简化正则表达式**的技巧**

我试图证明RE

s(bs)*[(abb*a*)*ab]*aa(a?b) 哪里 s=b*a*ab

可以简化为

(a?b)*abaa(a?b),

但我所知道的所有一般转变,如(ab)*a=a(ba)*(a*b)*a*=(a?b)*似乎没有效果.

所以问题是:

  1. 这是一个可行的逐步转型过程吗?如果是这样,你能告诉我它是如何完成的吗?
  2. 如果证明需要其他类型的技术,它们是什么?
  3. 是否有一个清晰而全面的参考资料来解释用于简化正式RE的技术?

谢谢.

regex regular-language

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

与正则表达式相关的混乱

我对正则表达式有这种困惑.如果有两套 AB

(AB)* = A*B*吗?

regex regular-language

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

为什么{a ^ na ^ n | n&gt; = 0}是否正常?

我了解原因和{a^n b^n | n >= 0}不正常的证明。 为什么{a ^ nb ^ n | n> = 0}是否不规则?

我的一项练习的解决方案是:{a^n a^n | n >= 0}定期进行。我如何证明这一论点?

fsm regular-language

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

jest 配置中的两个反斜杠是什么意思

现在我正在学习开玩笑来编写单元测试。我已经阅读了 jest 的部分文档和 github 上关于 jest 配置的一些代码,我发现可以像这样定义选项 moduleNameMapper:

"moduleNameMapper": {
    "\\.(jpg|jpeg|png|gif)$": "<rootDir>/__mocks__/fileMock.js",
    ".*\\.(css|less|scss)$": "<rootDir>/__mocks__/styleMock.js"
}
Run Code Online (Sandbox Code Playgroud)

但我不明白\\配置中的“ ”是什么意思?

正则表达式中的两个反斜杠似乎无法匹配任何文件或目录。

我只是想知道这样的配置可以匹配像"aaa.jpg""src/images/bbb.jpg""src/less/style.config.less",等不?

javascript regular-language jestjs

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

过滤特殊字符的正则表达式不起作用

我正在搜索一个正则表达式,我可以用它来检查用户输入是否包含指定列表中的特殊字符。

以下是我尝试编写的正则表达式不允许使用的特殊字符: ^[`~!@#$%^&*()_+={}\[\]|\\:;“’<,>.???]*$

我去了https://regex101.com/,我期待以下输入匹配,但不是为什么:

127 elmer road ??<>()
Run Code Online (Sandbox Code Playgroud)

所以在android java(但可以是任何)中,我编写了以下函数,但它也总是返回 true 。我如何过滤所有这些特殊字符。如果给定的字符串不匹配,我想要一个返回 true 的函数。

  public boolean isValid( EditText et) {
            String string = et.getText().toString();
            boolean isValid = true;

             final Pattern sPattern
                    = Pattern.compile("^[`~!@#$%^&*()_+={}\\[\\]|\\\\:;“’<,>.???]*$");

            isValid=  !sPattern.matcher(string).matches();


            return isValid;
        }
Run Code Online (Sandbox Code Playgroud)

更新:我也尝试了以下操作:

在此处输入图片说明

regex regular-language

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

状态消除 DFA 到正则表达式

我有一些关于状态消除和术语的问题。

在此输入图像描述

在上面的示例中,DFA 处于接受状态,必须以符号 0 开始并以 1 结束。

如果我将其转换为正则表达式,则上部将是 在此输入图像描述

底部将是 在此输入图像描述

这是我的问题,我不知道如何将顶部和底部部分添加到单个表达式中。我也不完全确定如何进一步消除 q2 符号 1 。

会是 0(0*(0+1))1* 吗?

感谢任何可以提供帮助的人!

regex finite-automata dfa regular-language

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

这是一种常规语言吗?如果是这样,它的正则表达式是什么?

B = {1^k y | k >= 1, y in {0, 1}* and y contains at least k 1's }
Run Code Online (Sandbox Code Playgroud)

这种语言有规律吗?如果是这样,你如何证明它,你将如何用Python中的正则表达式来表示它?

这是为了上课,所以如果你能解释你的答案背后的原因和过程,我们将不胜感激.

regex computer-science regular-language

0
推荐指数
1
解决办法
1672
查看次数

C#是常用语言吗?

我正在编写一些静态分析工具,并且一直试图避免进行全面的编译样式字符串解析,这让我想到了这个问题.

C#是常用语言吗?

为什么或者为什么不?

c# regular-language

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