正则表达式排除单引号后面的单词

时间:2014-01-16 01:35:45

标签: regex nsregularexpression

我是regexp的新手,并试图为NSRegularExpression创建一个模式。我想在给定字符串中的任何位置提取与关键字对应的所有完整单词,但前提是此关键字后面没有单引号。

对于“bill”关键字,我需要在我的字符串中提取任何出现的

bill
bill,
bill!

but not

bill's
billy
billboard

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

以下应该可以解决问题。

NSString *pattern = @"\\bbill\\b(?!')";

正则表达式:

\b             the boundary between a word char (\w) and not a word char
 bill          'bill'
\b             the boundary between a word char (\w) and not a word char
(?!            look ahead to see if there is not:
  '            '\''
)              end of look-ahead

但是,请在模式中放置关键字数据或变量。

\\bKEYWORD\\b(?!')

请参阅Live demo

答案 1 :(得分:0)

是的,这没关系:\bbill\b(?!') keyworlds:\ w            (?!EXP)