代码之家  ›  专栏  ›  技术社区  ›  Afsan Abdulali Gujarati

用于查找包含特定子字符串的一个或多个实例的字符串的正则表达式

  •  -1
  • Afsan Abdulali Gujarati  · 技术社区  · 7 年前

    我正在尝试为一组单词编写正则表达式。我只想选择子字符串有一个或多个重复的单词。

    例如,在以下词语中:

    香蕉 爸爸 纳米技术 娜娜 娜娜

    我只想选择“香蕉”、“爸爸”、“娜娜”和“做” 不是 要选择nano和nanna。我想在这里找到的是包含 文学士 不适用 一次或多次,而不是包含除一个或多个实例以外的任何内容的单词 文学士 不适用 . 因此,不应选择nanna,因为它包含额外的 n 两者之间 不适用 's。

    我尝试了很多正则表达式,但找不到确切的结果。 到目前为止,这就是我一直坚持的正则表达式。

    \w+(ba | na)

    这也选择了我不想要的娜娜。我刚接触regex,已经尝试了很多示例和教程,也四处看看了一会儿。

    P、 我正在使用的 this website 测试我的正则表达式。

    1 回复  |  直到 5 年前
        1
  •  1
  •   CAustin    7 年前

    \b(?:[bn]a)+\b

    演示: https://regex101.com/r/iFRfBC/1

    说明:

    \b -匹配“单词边框”,防止在匹配之前(或之后,在模式末尾)出现其他字母。

    (?: ... )+ -(非捕获)组,量化一次或多次。

    [bn]a -文字 b n ,后跟 a .