- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有这段 Java 代码:
Pattern p = Pattern.compile("* bar");
Matcher m = p.matcher("foo bar");
System.out.println(m.find());
但是,当我运行它时,出现以下错误:
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 * bar ^
不知道为什么会发生这种情况,因为当我用 Pattern p = Pattern.compile("foo *") 替换
一切都按预期工作,控制台输出 true。Pattern p = Pattern.compile("* bar")
时会发生这种情况
最佳答案
正则表达式中的
*
具有 special meaning 重复零次或多次(又名空字符串、x
、xx
等都将被匹配例如 x*
)。
当它开始时,正则表达式引擎不知道要重复什么,因此会出现错误。在第二个示例中,您说的是 foo
,后跟零个或多个空格。
如果你想匹配文字*
,你必须转义它 - \\*
。
关于当正则表达式的第一个字符是 * 时,Java PatternSyntaxException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32291713/
什么错误的正则表达式可能会产生有多种原因的 PatternSyntaxException? PatternSytanxException IS-A 可抛出且具有方法 .getCause()。在使应用程
在我将语言环境切换为“fa”(波斯语)之前,我有一个运行良好的正则表达式。我怀疑希伯来语和阿拉伯语也会发生这种情况(尚不确定是字符还是 RTL 方向导致它中断)。 导致异常的代码行是: public
我正在尝试验证一些只允许使用拉丁字母的输入。为此,我正在使用下一个正则表达式: public boolean isValidInput(String inputText) { return i
我不确定为什么以下代码会给我一个PatternSyntaxException: Pattern regex = Pattern.compile("\\[[12|\\[|\\|\\||\\^\\^|\\
看下面的代码: String comment = "1)FCR pick up in Hong Kong2)Local charges will be paiy in Hong Kong & in H
我已经修改了BluetoothChat 代码,以将串行数据从微 Controller 接收到我的Android 手机。当我运行以下代码 fragment 时,它给出了 java.util.regex.
所以我有这段 Java 代码: Pattern p = Pattern.compile("* bar"); Matcher m = p.matcher("foo bar"); System.out.p
我在编译正则表达式时遇到问题。我无法找到这个表达式的问题是什么,因为我从思科文档中得到了它,并且我不明白为什么它不起作用。我希望有人能告诉我它出了什么问题。这就是我正在尝试做的事情: public v
每次我尝试使用 s.split("*"); 分割字符串 "hello*world" 时,我都会得到一个 PatternSyntaxException。 我尝试使用 s.split("\*"); 但这给
这个问题在这里已经有了答案: Replace all method throws PatternSyntaxException (1 个回答) 关闭 6 年前。 我有这段代码: buffer
我不擅长正则表达式,我正在尝试使用 java.lang.String replaceAll() 方法,代码段如下 一个是: public class method3 { public stat
我正在尝试分解通过网站上的 API 获得的数组,Java 已将其作为 String 检索。 String[] ex = exampleString.split("},{"); 抛出PatternSyn
我正在尝试分解通过网站上的 API 获得的数组,Java 已将其作为 String 检索。 String[] ex = exampleString.split("},{"); 抛出PatternSyn
我正在尝试分解通过站点上的 API 获得的数组,Java 已将其检索为 String。 String[] ex = exampleString.split("},{"); PatternSyntaxE
我正在使用 json-io用于将一些 JSON 数据转换为 Java 对象: DataTransferContainer dataTransferContainer = (DataTransferCo
我正在编写一个汇编程序,用于分析汇编代码并生成目标代码。但是,我在使用正则表达式函数之一时遇到一些问题。我没有使用java正则表达式的经验,所以我不太确定我在做什么导致这个异常。下面是抛出异常的函数。
当我尝试执行 String.ReplaceAll 时,出现模式语法异常。 下面是我的字符串 Number of testcases to execute : 39? Starting execu
当我尝试执行以下代码时 text.matches("[a-zA-Z0-9 !\"#$%&'()*+,-./:;?@[\\]^_`{|}~]"); 我遇到异常 Exception in thread "
我有一个 Java 正则表达式 Pattern,由字符串末尾的一组任意字符组成,并具有正向后向查找功能。当我在 Android 之外使用 1.6 JDK 时,它编译并运行得很好,但当我将它放入 And
我需要使用 MaltParser 1.5 版本来解析俄语句子。因此,当我尝试输入 cmd 下一个命令时: java -jar malt.jar 我遇到了下一个异常: C:\malt1.5>java -
我是一名优秀的程序员,十分优秀!