次のケースをキャッチするために正規表現を書くのに助けが必要です:
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
右側が左側と同じであることを保証します。
編集
誤検知がないことを確認するには(正しくプログラミングすればこれが問題になるかどうかは議論しますが)、このバージョンを使用します(Eugeneのものとは少し異なり、もう少しエレガントです)。
\b(\d+)\*\1\b