【发布时间】:2017-02-01 23:45:00
【问题描述】:
我正在尝试将关键字与以下字符串匹配
"abc,pqr(1),xyz"
如果整个单词匹配例如,它将是成功的匹配。 "par" 或 "abc" 或 "xyz"
谁能帮我为这场比赛创建正则表达式?
String text = "hello, hellos(1),bye";
String keyword = "account";
String patternString = "["+ keyword + "]";
Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(text);
boolean matches = matcher.matches();
System.out.println("matches = " + matches);
【问题讨论】:
-
网上有一些非常有用的资源。就像regex testers 一样,它会在您编写正则表达式时为您提供解释。当您想学习如何使用它时非常好。
-
您可以尝试将
"[" + keyword + "]"替换为"\\b" + keyword + "\\b",这样应该可以。 -
@Andrevin 是对的,但请注意:A)它还会在括号内找到单词 B)如果逗号之间允许复合词,那么任何部分都可以匹配 C)如果单词中有连字符, 这些也将被视为单词障碍 (
\b)。
标签: java regex pattern-matching