将正则表达式分成两个捕获组

4

好的,我的之前的问题已经得到了回答...我还有一个问题,这个问题对我来说更加困难...

^([A-Za-z]+\.[A-Za-z0-9_-]+\.domain\.com)$

现在这个表达式只产生一个捕获组,如^()所示;我该如何为这个URL创建2个捕获组?(用于IIS正则表达式重写)


你想从字符串中获取什么内容?举个例子,说一下你想得到什么。 - Stephen Gross
好的,你还没有回答我的问题。请发布一个要解析的文本示例,并解释您想匹配哪些部分。 - Stephen Gross
抱歉。--- 我想要获取 silverspring.md.domain.com 并捕获组示例:{c:1} silverspring {c2} md - Jason
1个回答

9
您可以像这样将相关部分括起来来完成此操作:
text    = "city.state.domain.com"
pattern = "^([^\.]+).([^\.]+).([^\.]+).([^\.]+)$"
match   = re.match(pattern, text)
match.groups()
# Returns: [ 'city', 'state', 'domain', 'com' ]

1
请注意,顺便提一下,我做了一个简化的假设,即您可以在“.”字符之间具有任何可能的值。此外,在将来,您可以随时只需在“.”上拆分()。 - Stephen Gross

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接