首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当在整个字符串中找不到一个特定的单词时,如何避免“命中”呢?

当在整个字符串中找不到一个特定的单词时,如何避免“命中”呢?
EN

Stack Overflow用户
提问于 2019-09-23 11:52:48
回答 1查看 134关注 0票数 1

我有几条线:

代码语言:javascript
复制
1. "I offer a jacket from adidas"
2. "I offer clothing from adidas, a jacket"
3. "By my adidas jacket"
4. "adidas jacket"
5. "jacket adidas"
6. "I offer some shoes from adidas"
7. "Selling some nice adidas shoes"
8. "I have some shoes from adidas"

现在,我想要一个热门,当“阿迪达斯”这个词被找到时,而不是当字符串中的某个地方包含“夹克”时。

当“夹克”一词出现在“阿迪达斯”之后时,我设法不受欢迎,但当“夹克”一词出现在“阿迪达斯”前面时,我却受到了打击。

代码语言:javascript
复制
adidas(?!.*jacket.*)

显示1,5,6,7和8的点击,但是1和5不应该显示为命中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-23 11:56:00

您可以将负面展望放在开头,并使用锚^和单词边界\b来防止单词成为较大单词的一部分。

代码语言:javascript
复制
^(?!.*\bjacket\b).*\badidas\b.*
  • 字符串的^开始
  • (?!.*\bjacket\b)断言右边的内容不包含jacket
  • .*\badidas\b.*匹配0+乘以任何字符,然后匹配adidas和0+乘以任何字符。

Regex演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58061877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档