【问题标题】:Regex to match words正则表达式匹配单词
【发布时间】:2011-05-12 07:32:54
【问题描述】:

我正在寻找一个正则表达式(使用 .NET)来匹配单词 ass。正则表达式不应匹配诸如 assignment 之类的词。

我该怎么做?

【问题讨论】:

  • 更改了标签; C# 根本不支持正则表达式 - 但是 .NET BCL 支持

标签: .net regex


【解决方案1】:

您正在寻找单词边界 (\b):

\bass\b

这将匹配ass,但不匹配bass 或assignment。

【讨论】:

  • 而且,由于这是 C#(尽管 @Marc 删除了该标签),请注意使用逐字字符串:@"\bass\b"。如果您忘记了@,则\b 表示退格。
【解决方案2】:

\bass\b 怎么样?这使用单词边界将其限制为单个单词。

【讨论】:

    【解决方案3】:

    访问此页面以获取完整手册Word Boundaries

    【讨论】:

      【解决方案4】:

      大多数现代正则表达式引擎都支持 \b 锚点,这意味着零宽度的单词边界。

      有关使用该(和其他)锚字符的一些示例,请参阅 this page。

      【讨论】:

        【解决方案5】:

        这对你有用吗?

        \bass\b
        

        【讨论】:

          【解决方案6】:

          \b(ass)\b 或 \bass\b 应该不错。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-04
            • 2010-11-15
            • 2012-01-06
            • 1970-01-01
            相关资源
            最近更新 更多