首页 > 解决方案 > 如果子字符串前面没有特定字符串,则正则表达式匹配子字符串并忽略整个字符串?

问题描述

尝试一些消极和积极的事情,并不能真正得到我想要的。也经历了这个 SO 问题:Regex match a substring if that substring is not before a specific string?

由于这些子字符串匹配,我想要的只是“是的,应该考虑整个字符串”和“不,忽略整个字符串”。上面的帖子将帮助我匹配子字符串,但如果否定词在子字符串之前,它仍然是匹配的,你可以在这里看到我的测试:https ://regex101.com/r/aqn1gO/2

我想要做的是对 substring 进行正则表达式匹配i need,但忽略它不是请求而是更多问题的情况。这些例子是:

  1. 我需要你这样做
  2. 嘿,我明天需要这个
  3. 嘿,我在交付中需要这个吗?
  4. 嘿,我需要这样做吗?
  5. 你今天过得怎么样?

where 1.and2.应该匹配,但是3., 4., and 5.should not 匹配,即使里面有一个i need

标签: javascriptregexstringparsingnlp

解决方案


然后,一种方法可能是否定那些带有doshould跟随任何字符的字符,并且必须使用以下字符进行积极的前瞻i need

^(?=.*i need.*)(?!.*should.*i need.*|.*do.*i need.*).*$

演示


推荐阅读