我需要帮助来编写正则表达式来捕获以下情况:
number*number
喜欢1242*1242
或333*333
。两边*
是相同的数字,但它们可以有不同的长度。
这将解决 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
这里是:
(\d+)\*\1
它保证右侧与左侧相同。
编辑
为了确保没有误报(尽管如果编程正确,我会争辩这是否应该是一个问题)使用这个版本(与尤金的略有不同,更优雅一点):
\b(\d+)\*\1\b