具有不寻常字符的正则表达式

时间:2009-04-27 16:58:26

标签: .net regex

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

示例,#PRODUCT_143#

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

4 个答案:

答案 0 :(得分:4)

如果您尝试#PRODUCT_(\d*$)#,那么它没有找到匹配就不足为奇了。由于$已经标记了字符串的结尾,因此#之后永远不会匹配。

所以试试这个:

#PRODUCT_(\d*)#$

答案 1 :(得分:1)

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

#PRODUCT_(\d*)#$

(我不确定你为什么要捕捉原始正则表达式中的行尾)。

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:1)

$可能与行尾匹配,所以额外的#会让人感到困惑:

#PRODUCT_(\d*)#$