用于查找特殊数字的正则表达式

时间:2012-07-19 07:45:22

标签: c# regex

我需要帮助来编写一个正则表达式来捕获以下情况:

number*number,例如1242*1242333*333*的两边都是相同的数字,但它们可以有不同的长度。

2 个答案:

答案 0 :(得分:4)

这将解决Ofer的答案:

\b(\d+)\*\1\b

解释:

\b - word boundary
( - start capturing group
\d+ - digits (one or more)
) - stop capturing group
\* - literal *
\1 - matches exactly what is captured by group 1
\b - word boundary

答案 1 :(得分:1)

这是:

(\d+)\*\1

它保证右侧与左侧相同。

修改

为了确保没有误报(尽管我认为如果编程正确,这应该是一个问题)使用这个版本(与Eugene略有不同,更优雅一点):

\b(\d+)\*\1\b