【问题标题】:Regex expression to match all instances of string正则表达式匹配字符串的所有实例
【发布时间】:2010-10-23 21:27:54
【问题描述】:

使用带有以下表达式的 System.Text.RegularExpressions 来匹配所有用 # 包裹且仅包含文本(无空格等)的标记

#([a-zA-Z]+)#

以及下面的测试字符串

text #test# text #test1# text

我只得到一场比赛。我在正则表达式中做错了什么?

【问题讨论】:

    标签: c# regex


    【解决方案1】:

    您可以使用Matches() 方法,该方法返回所有匹配项的集合。

    此外,A-Z 并不是一个很好的文本解决方案(实际上#test1# 中的 1 将不匹配!!!),因为它不包含任何扩展字符,例如 éàèöäü 等 - 你可以想查看匹配单词字符的\w,或者查看匹配任何语言的任何字母的\p{L}

    编辑:也许这会更好地满足您的需求:

    #([^\s#]+)#
    

    【讨论】:

      【解决方案2】:

      它只会匹配第一个项目

      使用NextMatch()函数

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-18
        • 2012-06-05
        • 2013-12-25
        • 1970-01-01
        相关资源
        最近更新 更多