2

空白を無視して3回以上連続して繰り返される数字のみに一致する正規表現を作成する方法をまだ理解できていませんが、調査しています。

たとえば、現在、一致する (\d)\1{3,} があります

1111 2568856 など 1111 2568 856 など

スペースの前後に繰り返しがあると失敗しますが

6 111 1 256 8856

これに一致させるには、正規表現に何を追加する必要がありますか?

4

3 に答える 3

1

後方参照を使用して、同じ数字を再度照合します。

(\s?\d\s?)(\s?\1){2,}

https://regex101.com/r/FNNS1z/3

http://www.regular-expressions.info/backref.html

于 2016-12-28T20:45:29.393 に答える
0

これはうまくいくと思います:

(\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"
于 2016-12-28T20:40:22.863 に答える