【发布时间】:2009-04-27 16:58:26
【问题描述】:
我正在尝试想出一些正则表达式来处理 # 符号。
例如,#PRODUCT_143#
如果输入是 #PRODUCT_143,则正则表达式 #PRODUCT_(\d*$) 匹配并返回 143 作为匹配项。但是将 # 添加到输入和正则表达式的末尾会导致它中断。我需要在这里做什么才能匹配?
【问题讨论】:
我正在尝试想出一些正则表达式来处理 # 符号。
例如,#PRODUCT_143#
如果输入是 #PRODUCT_143,则正则表达式 #PRODUCT_(\d*$) 匹配并返回 143 作为匹配项。但是将 # 添加到输入和正则表达式的末尾会导致它中断。我需要在这里做什么才能匹配?
【问题讨论】:
如果您尝试过#PRODUCT_(\d*$)#,它找不到匹配项也就不足为奇了。由于$ 已经标记了字符串的结尾,而之后的# 将永远不会被匹配。
所以试试这个吧:
#PRODUCT_(\d*)#$
【讨论】:
它不应该破坏任何东西,也许你忘记在正则表达式中移动$,这意味着行尾?这个正则表达式应该没问题:
#PRODUCT_(\d*)#$
(我不确定您为什么要在原始正则表达式中捕获行尾)。
【讨论】:
您是否忘记将$ 移出括号?
注意添加的^ - 可能不适合您的输入。
【讨论】:
$ 可能与行尾匹配,因此您的额外 # 会混淆它:
#PRODUCT_(\d*)#$
【讨论】: