首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.Net正则匹配

问VB.Net正则匹配
EN

Stack Overflow用户
提问于 2014-07-21 04:26:01
回答 2查看 18.7K关注 0票数 6

好吧,让我说我有一根“帽子里的猫”的绳子,我知道我想用同一根绳子来匹配猫和狗。

所以我有这样的东西:

代码语言:javascript
复制
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

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

但我真正需要的是“猫狗”,没有其他词在中间,我被困住了。

谢谢你的帮助!

如果有用的话,我试图解析的字符串是类似于"Game 20_03 Starter r6“的字符串,并且我试图将"20_03 r6”作为版本信息。当前使用"\b\d{2}_\d{2}\b.\br\d“作为我的正则字符串。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-21 04:31:47

可以将正则表达式的部分插入括号,以创建捕获值的组:

代码语言:javascript
复制
Dim regex As New Regex("\b(cat)\b.*\b(dog)")

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

票数 7
EN

Stack Overflow用户

发布于 2014-07-21 04:28:57

你的判断力是,

代码语言:javascript
复制
Dim regex = New Regex("\bcat\b|\bdog\b")

这与输入字符串中的字符串cat或dog匹配。

演示

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

代码语言:javascript
复制
\b\d{2}_\d{2}\b|r\d

演示

解释:

  • \b匹配单词边界(即,单词字符和非单词字符之间的匹配)。
  • \d{2}与两位数完全匹配。
  • _匹配文字下划线符号。
  • \d{2}与两位数完全匹配。
  • \b匹配单词边界(即,单词字符和非单词字符之间的匹配)。
  • |逻辑或运算符通常用于组合两个正则表达式。this|that,这个或那个。
  • r\d文字r后面跟着一位数。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24857758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档