正则表达式Java简单正则表达式错误
我一直在尝试为非常简单的字符串编写正则表达式,但未能做到:
x = "abc 10 def price 100 ghi"
我试过正则表达式:
"(\\w\\s)+(price)(\\s\\w)+"
String regex = "(\\w\\s)+(price)(\\s\\w)+";
String test = "abc 10 def price 100 ghi";
System.out.println(test.matches(regex));
它返回false
这个正则表达式应该与上面的字符串匹配,但是在我的例子中,正则表达式与字符串不匹配
非常感谢您的帮助
基本要求是“价格”之前可以有任意数量的单词/数字,而“价格”之后可以有任意数量的单词/数字。虽然价格前后应该有空格,价格前至少有一个单词,价格后至少有一个单词。例如,以下所有字符串都是可接受的:
abc 10de price xyz
abc 10de price 1000 xyz
abc 10 de price 1000 xyz
abc 10 de de price 1000 xyz
# 1 楼答案
这将匹配“至少一个词,然后是‘价格’,然后是至少一个词”:
(\\w+\\s+)+price(\\s+\\w+)+
# 2 楼答案
此正则表达式应与字符串匹配: