我需要一个正则表达式来检查给定String中两个单词之间是否有+, - 或*。以下是一些例子:
"wordA + wordB" -> match
"wordA-wordB" -> match
"wordA wordB +" -> don't match
我尝试了[\\w][\\+\\*\\-][\\w]
和.[\\+\\*\\-].
,但两者都不起作用。
我希望它能确定我想要的东西。提前谢谢。
答案 0 :(得分:2)
您无需转义字符类中存在的字符+
,*
。当存在前一个和后一个标记时,您必须转义-
符号。
^\w+\s*[+*-]\s*\w+$
Java正则表达式,
^\\w+\\s*[+*-]\\s*\\w+$
使用匹配功能时不需要放置锚点。
示例:强>
String xxx = "\\w+\\s*[+*-]\\s*\\w+";
String x = "wordA + wordB";
if(x.matches(xxx)) {
System.out.println("matches");
}
else {
System.out.println("no match found ");
} // matches
答案 1 :(得分:2)
尝试使用正则表达式:
"\\w+\\s*[-+*]\\s*\\w+"
答案 2 :(得分:0)