空白を無視して3回以上連続して繰り返される数字のみに一致する正規表現を作成する方法をまだ理解できていませんが、調査しています。
たとえば、現在、一致する (\d)\1{3,} があります
1111 2568856 など 1111 2568 856 など
スペースの前後に繰り返しがあると失敗しますが
6 111 1 256 8856
これに一致させるには、正規表現に何を追加する必要がありますか?
空白を無視して3回以上連続して繰り返される数字のみに一致する正規表現を作成する方法をまだ理解できていませんが、調査しています。
たとえば、現在、一致する (\d)\1{3,} があります
1111 2568856 など 1111 2568 856 など
スペースの前後に繰り返しがあると失敗しますが
6 111 1 256 8856
これに一致させるには、正規表現に何を追加する必要がありますか?
これはうまくいくと思います:
(\d)\s?(\1\s?){3,}
「\s?」一部は、オプションの空白、「?」を示します。{0,1} に等しい。
R を stringr パッケージでチェックインしました (バックスラッシュをエスケープする必要があることに注意してください)。
> str_extract_all("221 1 1 122 ", "(\\d)\\s?(\\1\\s?){3,}")
[[1]]
[1] "1 1 1 1"