如果substring符合以下条件,我需要从一行中提取子字符串:
-starts with 3 - 所有字符都是数字或破折号。如果所有数字都是从10个字符长度到14,否则,如果countains破折号,最多可以达到19
我尝试使用
Dim m As Match = Regex.Match(line.ToLower().Trim(), _
"33[\d-]{10,19}", _
RegexOptions.IgnoreCase)
但上面的m.Success返回false
任何人都可以帮忙修复我的正则表达式吗?
答案 0 :(得分:0)
这^3(?:\d{9,13}|[\d-]{9,18})$
细分:
^ # BOS
3 # Starts with '3'
(?: # Cluster
\d{9,13} # All digits, total 10 - 14
| # or,
[\d-]{9,18} # Digits or dashes, total 10 - 19
) # End cluster
$ # EOS
答案 1 :(得分:0)