[求助]关于正则表达式提取多组数据?我又多个正则表达式,需要提取多组匹配的上的数据要怎么写代码
比如正则表达式为: JT\d{5} 、 9\d(7)、 10\d{3}
有一个字符串里有多个可以满足上面的表达式,我需要全部提取出来
Dim s As String = e.Form.Controls("XZ_工单诉求").text
Dim p As String = "[JT\d{13}|777\{13}|773\{13}|9\d{12}]"
Dim rgx = New System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
For Each match As System.Text.RegularExpressions.Match In rgx.Matches(s)
Output.Show(match.Value)
'为啥提取出来的是一个一个字,不是整段的
Next
Dim s As String = e.Form.Controls("XZ_工单诉求").text
Dim p As String = "[^JT\d{13}|777\{13}|773\{13}|9\d{12}]"
Dim str = System.Text.RegularExpressions.Regex.Replace(s, p, "")
Output.Show(str)
Dim 数 As Integer
Dim s As String = "773323782297528核重0.28kg,单包100g,顾客买了16包,只收到了两包,已重新补发"
Dim p As String = "[^JT\d{13}|777\{13}|773\{13}|9\d{12}]"
Dim str = System.Text.RegularExpressions.Regex.Replace(s, p, "|")
Output.Show(str)
Dim Values() As String
Values = str.split("|")
For Index As Integer = 0 To Values.Length - 1
Output.Show(Values(Index))
Next
为啥会匹配到 |0|28|||||100||||||16|||||||||||||| 这些数字?
我只用匹配773323782297528|就行了
Dim s As String = "777323782297528核重0.28kg,单包100g,顾客773323782297528核重0买了16包,只收到了两包,已重新补发"
Dim p As String = "(777\d{12})|(773\d{12})"
Dim m As String
Dim rgx = New System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
For Each match As System.Text.RegularExpressions.Match In rgx.Matches(s)
Output.Show(match.Value)
Next
77726254933004 地址不对
77022028646147 揽收未发出 核实有无发出记录 需拦截请告知
77642469315623 非我司
77726227589187
77726227284092
77726227002822
77726227211195
77726227963980 非我司
777262069163325 朱玉芳[9749]
如果我想把上面的字段分出来做到表里或者json里。
"(777\d{11})|(776\d{11})|(770\d{11})"
我用这个分出单号出来,然后怎么做到每个单号另一项值对应后面的文字?如果是绿色字体,又怎么能让后面没字的对应下面后面有字的内容?
Dim s As String = "77022028646147 揽收未发出 核实有无发出记录 需拦截请告知"
Output.Show(Regex.Match(s, "^77[760]\d{11}").Value)
Output.Show(Regex.Replace(s, "^77[760]\d{11}", ""))
[此贴子已经被作者于2024/11/29 12:37:52编辑过]