【问题标题】:regex to match the pattern in python3 using match method [closed]正则表达式使用匹配方法匹配python3中的模式[关闭]
【发布时间】:2021-04-01 17:08:50
【问题描述】:

我想知道使用 re.match 方法匹配以下模式的正则表达式。

some action 1.1.1.1 on sub.domain.com

目前我正在使用下面的代码,它工作正常,但我想删除除 sub.domain.com 之外的所有内容,因为使用下面的代码我得到类似 <http:\\/\\/sub.domain.com|sub.domain.com> 的东西

some\s+action+\s+(.*)\s+on\s+(.*)

【问题讨论】:

  • 请显示您正在使用的确切代码,而不仅仅是它的正则表达式部分。

标签: python-3.x regex


【解决方案1】:

这是您可以使用capturing group 的地方。请注意,您的问题中有两个捕获组,但您只需要一个。这是一个示例,您可以在前四个“单词”(定义为一个或多个非空格加上空格)之后获取捕获的组:

另外请注意,在实际操作中,这并不能很好地发挥作用——如果“某些动作”是十个词怎么办?相反,您可能想做一些更有针对性的事情,例如匹配(在伪代码中)<IP> on (<domain>) 的正则表达式。

>>> import re
>>> s='some action 1.1.1.1 on sub.domain.com'
>>> re.match(r'(?:\S+\s){4}(.*)', s).group(1) # not using anchors, not sure if you need that?
# 'sub.domain.com'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多