我希望在特定字符串中匹配正斜杠/
或反斜杠\
,例如:
Hi/Hello/Bye/
Hi\Hello\Bye\
Hi\Hello/Bye\
HiHelloBye
在给定的字符串中,只有最后一条记录不应该匹配,因为它既不包含/
也不包含\
。
我正在使用的
if (strFile.matches(".*//.*"))
{
//String Matches.
}
else
{
//Does not match.
}
这只与正斜杠/
匹配。我不知道如何为两个斜杠编写正则表达式(对于OR
条件)。
发布于 2012-08-03 13:01:27
您需要:
strFile.matches(".*[/\\\\].*")
具体地说,用[/\\\\]
替换//
。
您只需要一个正斜杠,但需要4个反斜杠,因为单个斜杠是字符串中的转义,2是正则表达式的转义,因此需要4个。
发布于 2012-08-03 13:03:40
使用交替:strFile.matches(".*(/|\\\\).*")
匹配正斜杠或反斜杠。您可能想看看Java regex documentation。
发布于 2012-08-03 13:09:41
用这个..。
[ ]
将为您提供或功能。
Pattern pat = Pattern.compile("[/\\\\]");
Matcher m = pat.matcher("Hi/Hello/Bye/");
while (m.find()){
System.out.println(m.group());
}
https://stackoverflow.com/questions/11789504
复制相似问题