无法理解为什么这个RegEx找不到文字
Pattern patternPairOfAddOrSub = Pattern.compile("(/A|[^*/])(-?\\d+\\.?\\d*)([+|-])(\\d+\\.?\\d*)(/Z|[^*/])");
Matcher matcher = patternPairOfAddOrSub.matcher("2+4+5");
System.out.println(matcher.find());
在这个网站上https://regex101.com/相同的模式(当然有适应性)发现这没有麻烦,有人能说我为什么吗?
答案 0 :(得分:1)
将您的(/A|[^*/])(-?\\d+\\.?\\d*)([+|-])(\\d+\\.?\\d*)(/Z|[^*/])
模式替换为以下(/A|[^*/])?(-?\d+\.?\d*)([+|-])(\d+\.?\d*)(/Z|[^*/])?
模式。
按照您的模式,您必须在该行的开头或结尾添加下一个字符之一:+
,^
,*
,/
。