如何查找包含括号的单词“(”并使用单词边界?

| 我在一篇大文中寻找一句“成功(并从他们的失败中学习!)”。由于有括号,我使用了引号(...)来允许它,但我也想使用单词边界“ b”,所以如果在这样的文本中找到了这个短语“Kin成功(并从他们的学习中学习)失败!)”。 这是我的代码:
String phrase = Pattern.quote( "in successes (and learn from their failures!)" );   
Pattern myPattern = Pattern.compile( "\b" + phrase + "\b" );  // Use word boundary(b) = No letters after it.
Matcher myMatcher = myPattern.matcher( bigText );
myMatcher.find();  // Returns false.
如上所述,由于使用“ b”,此代码将返回false。如果我省略“ b”,匹配器将返回true。有没有办法解决这个问题,同时使用2个条件:quote(...)+“ b”?     
已邀请:
在我看来,最好的选择是放弃第二个
b
Pattern myPattern = Pattern.compile( "\b" + phrase);
phrase
!)
结尾,它们不是单词字符,并且应该适用于所有情况,例如:
failures!), and more
failures!)
failures!)or not
如果你想确保它没有跟着另一个字母,你可以使用
"\b" + phrase + "\B"
,但我不确定这里是否需要它。     

要回复问题请先登录注册