.net 匹配具有相似结尾文本的字符串
我有一些字符串,比如:.net 匹配具有相似结尾文本的字符串,.net,regex,.net,Regex,我有一些字符串,比如: a-bob-01.fred.blogs.com b-bob-02.blogs.com c-bob-03.fred.blogs.com d-bob-04.bob.fred.blogs.com 我想捕获第一个名字,所以我尝试: (?<name>.*).fred.blogs.com|.blogs.com|.bob.fred.blogs.com 有没有一种方法可以将OR与正则表达式一起使用来过滤所有备选方案 谢谢您可以将以下正则表达式与可选组一起使用: (?[^\
a-bob-01.fred.blogs.com
b-bob-02.blogs.com
c-bob-03.fred.blogs.com
d-bob-04.bob.fred.blogs.com
我想捕获第一个名字,所以我尝试:
(?<name>.*).fred.blogs.com|.blogs.com|.bob.fred.blogs.com
有没有一种方法可以将OR与正则表达式一起使用来过滤所有备选方案
谢谢您可以将以下正则表达式与可选组一起使用:
(?[^\s.]*)(?:\.bob)?(?:\.fred)?\.blogs\.com
^^ ^^^^^ ^^
见
详细信息:
-一个“名称”命名组,捕获0+个字符,而不是空格和点(?[^\s.]*)
-可选的(?:\.bob)?
字符序列(请注意,应转义文字点).bob
-可选的(?:\.fred)?
字符序列.fred
-a\.blogs\.com
字符序列.blogs.com
Dwayne,如果需要调整,请随时发表评论。那么我会添加更多的解释。好的,我添加了对模式的解释。请注意,有一个很好的工具可以调试.NETregexps,它可以免费使用。
a-bob-01
c-bob-03
d-bob-04.bob
(?<name>[^\s.]*)(?:\.bob)?(?:\.fred)?\.blogs\.com
^^ ^^^^^ ^^