代码之家  ›  专栏  ›  技术社区  ›  epitka

正则表达式:匹配以“Id”结尾的单词

  •  29
  • epitka  · 技术社区  · 15 年前

    6 回复  |  直到 4 年前
        1
  •  89
  •   x2. alexey    10 年前

    尝试以下正则表达式:

    \w*Id\b
    

    \w* Id 以及 \b 确保 身份证件 在单词的末尾( \b类 是单词边界断言)。

        2
  •  9
  •   BenAlabaster    15 年前

    Gumbo得到了我的投票,但是OP并没有明确说明“Id”是否是一个允许的词,这意味着我会做一个小的修改:

    \w+Id\b
    

    一个或多个单词字符后跟“Id”和空格。[a-zA-Z]变体不考虑非英语字母字符。我也可以使用\s而不是\b作为空格,而不是分隔符。这将取决于你是否需要在多行包装。

        3
  •  5
  •   Bart Kiers    15 年前

    这可能会起作用:

    \b\p{L}*Id\b
    

    哪里 \p{L} 匹配任何(Unicode)字母和 \b

        4
  •  5
  •   TK-421    10 年前

    怎么样 \A[a-z]*Id\z ? [这使得字符在 Id 可选。使用 \A[a-z]+Id\z .]

        5
  •  4
  •   Squidly    15 年前

    我会用
    \b[A-Za-z]*Id\b
    \b匹配单词的开头和结尾,即空格、制表符或换行符,或字符串的开头或结尾。

    请注意,这将匹配单词中有大写字母,如“睾丸”。

    http://www.regular-expressions.info/ 供正则表达式参考

        6
  •  3
  •   Ardent Coder Michael Richardson    5 年前
    Regex ids = new Regex(@"\w*Id\b", RegexOptions.None);
    

    \b 意思是“断字”和 \w 表示任何单词或字符。所以 \w*Id\b 意思是“{stuff}Id”。不包括 RegexOptions.IgnoreCase ,它将区分大小写。