gpt4 book ai didi

Java 正则表达式未按预期工作

转载 作者:行者123 更新时间:2023-12-02 13:14:15 25 4
gpt4 key购买 nike

我创建了这个正则表达式,但不知何故它只检测到第一部分正则表达式的不是最后一部分。我想知道这是怎么回事?

代码如下:

String m = -2√3254i/18.5
String regex = "-?\\d+(\\.\\d*)?\\√\\d+(\\.\\d*)?i\\/\\d+(\\.\\d*)?"

我尝试了很多不同的方法,例如:

-?\\d+(\\.\\d*)?\\√\\d+(\\.\\d*)?i+\\/+\\d+(\\.\\d*)?
-?\\d+(\\.\\d*)?\\√\\d+(\\.\\d*)?i/\\d+(\\.\\d*)?
-?\\d+(\\.\\d*)?\\√\\d+(\\.\\d*)?i\\(\\/\\d+(\\.\\d*))?

它们都不起作用。

输出始终

-2√3254

任何建议,

谢谢

最佳答案

好吧,我的正则表达式实际上是由许多正则表达式组成的:

String regex = "a regex | another regex | -?\\d+(\\.\\d*)?\\√\\d+(\\.\\d*)?\\i" 
+ "|another regex | -?\\d+(\\.\\d*)?\\√\\d+(\\.\\d*)?i\\/\\d+ (\\.\\d*)?

问题发生在显示的两个正则表达式之间。 第一个符号正则表达式被匹配器第一个拾取,但我真正想要的是第二个 符号正则表达式来获取我的 String m = "-2√32454i/18.5"

当满足其中一个 boolean 条件时,匹配器似乎会退出匹配。我所要做的就是重新排列组成我的正则表达式的正则表达式的顺序。

关于Java 正则表达式未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com