.net 用于提取满足指定条件的字符串的正则表达式
如果子字符串满足以下条件,我需要从行中提取子字符串: -从3开始 -所有字符都是数字或破折号。如果全部为数字,则长度从10个字符到14个字符不等,否则,如果计数为破折号,则长度最多为19个字符 我试着用.net 用于提取满足指定条件的字符串的正则表达式,.net,regex,string,.net,Regex,String,如果子字符串满足以下条件,我需要从行中提取子字符串: -从3开始 -所有字符都是数字或破折号。如果全部为数字,则长度从10个字符到14个字符不等,否则,如果计数为破折号,则长度最多为19个字符 我试着用 Dim m As Match = Regex.Match(line.ToLower().Trim(), _ "33[\d-]{10,19}", _ RegexOptions.IgnoreCase) 但是上面的m.Success返
Dim m As Match = Regex.Match(line.ToLower().Trim(), _
"33[\d-]{10,19}", _
RegexOptions.IgnoreCase)
但是上面的m.Success返回false
有人能帮忙修复我的正则表达式吗?这^3(?:\d{9,13}{124;[\ 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
试试这个模式
^(?=(-?\d){10,14}$)3[0-9-]{9,18}$
你能提供成功和失败条件的示例数据吗?问题是,
3------
OK?不,它必须至少有10个数字,这与3------
匹配,不确定是否OKOP@alphabravo-你为什么不问问他这个不适用于字符串“number:3333”@ElenaDBA-如果是子字符串,移除锚定3(?:\d{9,13}|[\d-]{9,18})
。我相信这是您的陈述10个字符,最长14个,
请提供示例