我需要帮助来编写一个正则表达式来捕获以下情况:
number*number
,例如1242*1242
或333*333
。 *
的两边都是相同的数字,但它们可以有不同的长度。
答案 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