通过检查haystack中针的前一个后续字符返回完全匹配

时间:2018-04-20 12:01:10

标签: javascript regex

如果[a-zA-zäöåÄÖÅ]之类的字符在搜索字符串中的匹配之后之前没有直接出现在某个位置,我该如何返回匹配项?

比方说,我在字符串中寻找on

以下示例应评估为:

False: "luonto - nature" because uont
True: "olla (on, ovat, ole )" because (on,
False: "kevät (season)" because son)

感谢。

1 个答案:

答案 0 :(得分:1)

我认为这需要的不仅仅是评论,所以我正在做出正确的答案。

根据我的评论,您可以使用[^a-zA-zäöåÄÖÅ]on[^a-zA-zäöåÄÖÅ]来检查问题问题中所述的条款。

如果您想更加具体地了解on在字符串结尾处的开头,您可以将其设为(^|[^a-zA-zäöåÄÖÅ])on([^a-zA-zäöåÄÖÅ]|$),以便对其进行测试:

  • ^ [字符串的开头]
  • [|]
  • 列表中的
  • [^a-zA-zäöåÄÖÅ] [无(^)(a-zA-zäöåÄÖÅ)]
  • 直接出现在字符串文字on
  • 之前

  • 直接在字符串文字on
  • 之后 列表中的
  • [^a-zA-zäöåÄÖÅ] [无(^)(a-zA-zäöåÄÖÅ)]
  • [|]
  • $ [字符串的结尾]

正如我在评论中提到的,一个用于学习和测试正则表达式的好网站是Regex 101

希望这有帮助