VB.Net正则表达式匹配

Kei*_*thi 4 regex vb.net

好吧,让我说我有一个字符串"帽子狗中的猫",我知道想要正则表达式匹配猫和狗从相同的字符串.

所以我有类似的东西:

Dim myString As String = "The cat in the hat dog"
Dim regex = New Regex("\bcat\b.*\bdog")
Dim match = regex.Match(myString)
If match.Success Then
    Console.WriteLine(match.Value)
End If
Run Code Online (Sandbox Code Playgroud)

match.Value返回"帽子狗中的猫",这是预期的.

但我真正需要的只是"猫狗",中间没有其他的话,我被卡住了.

谢谢你的帮助!

如果它有帮助,我试图解析的字符串就像"游戏名称20_03 Starter Pack r6",我试图将"20_03 r6"作为版本信息拉出来.目前使用"\ b\d {2} _\d {2}\b.\ br\d "作为我的正则表达式字符串.

Ry-*_*Ry- 6

您可以将正则表达式的部分括起来以创建捕获值的组:

Dim regex As New Regex("\b(cat)\b.*\b(dog)")
Run Code Online (Sandbox Code Playgroud)

然后使用match.Groups(1).Valuematch.Groups(2).Value.


Avi*_*Raj 5

您的正则表达式将是

Dim regex = New Regex("\bcat\b|\bdog\b")
Run Code Online (Sandbox Code Playgroud)

这与字符串catdog输入字符串匹配。

演示

对于第二个字符串,您的正则表达式将是

\b\d{2}_\d{2}\b|r\d
Run Code Online (Sandbox Code Playgroud)

演示

说明:

  • \b 匹配单词边界(即,单词字符和非单词字符之间的匹配)。
  • \d{2} 完全匹配两位数的数字。
  • _ 匹配文字下划线符号。
  • \d{2} 完全匹配两位数的数字。
  • \b 匹配单词边界(即,单词字符和非单词字符之间的匹配)。
  • |逻辑“或”运算符通常用于组合两个正则表达式模式。this|that, 这个或那个。
  • r\d 文字r后跟一位数字。