如果前一句有"和",则匹配"和"

  • 本文关键字:一句 如果 javascript regex
  • 更新时间 :
  • 英文 :


基本上,我想这样做:

文本和文本文本。文本的文本。和文本。(不要匹配这个"And.")
文本和文本文本。文本。(匹配这个"And.")

现在,我有这个正则表达式:.*b(and)b.*. And。但是它匹配上面示例中的两个And: https://regexr.com/65k52

如何修改这个正则表达式,使它只匹配And,如果前面的句子有and?

如果您想使用.+空格作为句子分隔符序列,您可以使用

(?=S)[^.]*(?:.(?!s)[^.]*)*?bandb[^.]*(?:.(?!s)[^.]*)*.s+Andb
(?=S)(?:[^.]|.(?!s))*?bandb(?:[^.]|.(?!s))*.s+Andb

参见regex demo #1和regex demo #2。细节:

  • (?=S)-下一个字符必须为非空格
  • (?:[^.]|.(?!s))*?-零次或多次(但尽可能少)出现除..以外的任何一个字符,且后面没有紧接空格
  • bandb-全字and
  • (?:[^.]|.(?!s))*-零次或多次(但尽可能多)出现除..以外的任何一个字符,并且后面没有紧接空格
  • .- a点
  • s+-一个或多个空白
  • Andb- a whole wordAnd.

相关内容

最新更新