我创建了这个正则表达式,但不知何故它只检测到第一部分 正则表达式不是最后一部分。我想知道发生了什么事?
以下是代码:
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
任何建议,
谢谢
答案 0 :(得分:1)
好的,所以我的正则表达式实际上由许多正则表达式组成:
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"
似乎匹配器在满足其中一个布尔条件时退出匹配。 我所要做的就是重新排列构成我的正则表达式的正则表达式的顺序。