-4

電話番号からダブル、トリプレット、テトラなどを取得するには正規表現が必要です

以下は例です、番号は1001055522ですそれは私を返すはずです

group              Numbers
=============================
Doubles            00
                   22 
Triplets           555
4

3 に答える 3

3

この正規表現を使用するRegex.Matchesと、正確な double または triple が生成されます (より長い連続したシーケンスの一部ではありません)。これは量指定子の貪欲さによるものです。

(\d)\1+

デモ

さて、あとは紐の長さの確認と数え方ですが… お任せします。

于 2013-02-12T18:44:09.090 に答える
1

ダブルスを見つけるには、後方参照を使用します。

(.)\1

これがデモです:http://regex101.com/r/zC3fM1


トリプレットを見つけるには、後方参照を繰り返すだけです。

(.)\1{2}

これがデモです:http://regex101.com/r/cJ4lJ8


数に関係なく、すべての連続する番号を照合する場合は+、後方参照で使用します。

(.)\1+

これがデモです:http://regex101.com/r/pL8sB3

于 2013-02-12T18:39:25.200 に答える
0
Dim n = "1001055522"

Dim doubles = System.Text.RegularExpressions.Regex.Matches(n, "(.)\1")
Dim triples = System.Text.RegularExpressions.Regex.Matches(n, "(.)\1{2}")

'Doubles
For Each d As System.Text.RegularExpressions.Match In doubles
    Console.WriteLine(d.Value)
Next

'Triples
For Each t As System.Text.RegularExpressions.Match In triples
    Console.WriteLine(t.Value)
Next
于 2013-02-12T18:56:29.320 に答える