【问题标题】:Regex with unusual characters带有不寻常字符的正则表达式
【发布时间】:2009-04-27 16:58:26
【问题描述】:

我正在尝试想出一些正则表达式来处理 # 符号。

例如,#PRODUCT_143#

如果输入是 #PRODUCT_143,则正则表达式 #PRODUCT_(\d*$) 匹配并返回 143 作为匹配项。但是将 # 添加到输入和正则表达式的末尾会导致它中断。我需要在这里做什么才能匹配?

【问题讨论】:

    标签: .net regex


    【解决方案1】:

    如果您尝试过#PRODUCT_(\d*$)#,它找不到匹配项也就不足为奇了。由于$ 已经标记了字符串的结尾,而之后的# 将永远不会被匹配。

    所以试试这个吧:

    #PRODUCT_(\d*)#$
    

    【讨论】:

      【解决方案2】:

      它不应该破坏任何东西,也许你忘记在正则表达式中移动$,这意味着行尾?这个正则表达式应该没问题:

      #PRODUCT_(\d*)#$
      

      (我不确定您为什么要在原始正则表达式中捕获行尾)。

      【讨论】:

        【解决方案3】:

        您是否忘记将$ 移出括号?

        ^#PRODUCT_([0-9]*)#$

        注意添加的^ - 可能不适合您的输入。

        【讨论】:

          【解决方案4】:

          $ 可能与行尾匹配,因此您的额外 # 会混淆它:

          #PRODUCT_(\d*)#$
          

          【讨论】:

            猜你喜欢
            • 2012-05-08
            • 2021-06-12
            • 1970-01-01
            • 1970-01-01
            • 2012-11-20
            • 2013-01-29
            • 2011-02-20
            • 2019-01-17
            相关资源
            最近更新 更多