我正在尝试在Java中匹配包含单词
需要匹配的字符串:
我还尝试过:
编辑:这是来自IDEone的代码:
"#SP"
(不区分大小写,不带引号)的字符串。然而,我发现使用正则表达式非常困难!需要匹配的字符串:
"This is a sample #sp string"
,
"#SP string text..."
,
"String text #Sp"
不需要匹配的字符串:
"Anything with #Spider"
,
"#Spin #Spoon #SPORK"
这是我目前的代码:http://ideone.com/B7hHkR。有人能指导我构建正则表达式吗?我还尝试过:
"\\w*\\s*#sp\\w*\\s*"
,但没有成功。编辑:这是来自IDEone的代码:
java.util.regex.Pattern p =
java.util.regex.Pattern.compile("\\b#SP\\b",
java.util.regex.Pattern.CASE_INSENSITIVE);
java.util.regex.Matcher m = p.matcher("s #SP s");
if (m.find()) {
System.out.println("Match!");
}
*
表示“零次或多次”。 - Brian Roach"这是一个#sp"
(在#sp之前多于0次,在#sp之后0次以上),"#sp文本"
(在#sp之前0次,在#sp之后多于0次),"#sp"
(在之前和之后都为0次) - Marco Pietro Cirillo\\b
将检测到“单词边界”,但不会消耗单词前/后的字符。 - fge