我想用Regex.Ismatch
功能在VB.net到***anything***Customer No. 9999999 ***anything***
正则表达式可以匹配“*** ***任何客户号9999999 *** ***东西”
即“客户号”匹配模式 - >静态 后“客户号码”7数字字符 - >动态
我的正则表达式迄今尝试^ .*Customer No\. [0-9]+ .*$
。我很接近,但如果只有Customer No. 9999999
如果有前缀和后缀,只匹配它不接受
我想用Regex.Ismatch
功能在VB.net到***anything***Customer No. 9999999 ***anything***
正则表达式可以匹配“*** ***任何客户号9999999 *** ***东西”
即“客户号”匹配模式 - >静态 后“客户号码”7数字字符 - >动态
我的正则表达式迄今尝试^ .*Customer No\. [0-9]+ .*$
。我很接近,但如果只有Customer No. 9999999
如果有前缀和后缀,只匹配它不接受
给这个模式的尝试:
"Customer No\. \d{7}"
这是捕获字面“客户编号”加上连续7个位数成whic ...你可以访问,如:
Imports System.Text.RegularExpressions
Module Module1
Sub Main()
Dim data As String = "***anything***Customer No. 9999999 ***anything***"
Dim matcher As Match = Regex.Match(data, "Customer No\. \d{7}")
If matcher.Success Then
Console.WriteLine(matcher.Value)
End If
End Sub
End Module
结果:
Customer No. 9999999
好吧,这就是你想要的,顺便说一句。 “。*?'是多余的,因此也是括号,它只是组0。 – maraca
它匹配即使”客户号“。我想要区分大小写 – user3800108
@ user3800108你说的是一个字符串“*** anything *** Customer no。9999999 ***什么***“,正则表达式仍然匹配?我没有看到结果 – Shar1er80
C#:
string s = " Customer No. 9999999";
Regex regex = new Regex(@"^Customer No. +[0-9]{7}$");
Match match = regex.Match(s);
if (match.Success)
{
Console.WriteLine(match.Value);
}
else
{
Console.WriteLine("not match");
}
VB:
Dim s As String = "Customer No. 9999999"
Dim regex As New Regex(@"^Customer No. +[0-9]{7}$")
Dim match As Match = regex.Match(s)
If match.Success Then
Console.WriteLine(match.Value)
Else
Console.WriteLine("not match")
End If
嗨如果我需要匹配'dsxzx客户编号9999999 xccx' – user3800108
@ user3800108你的意思是dsxzx是一个5个字母的单词吗? –
不,我很接近*客户号码。 [0-9] + * $' 但不接受'客户编号9999999' 我想匹配这 '***什么**客户编号9999999 *** ***东西' – user3800108
逃亡'.'通过前面的'\\''。即使在评论中,我已经通过\\' – Tushar
转义'\\'不明白您能否请您重写 – user3800108
Works For Me。检查[这里](https://regex101.com/r/yC5iO5/1) – Tushar