gpt4 book ai didi

python - 如何捕获多个可选组

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:42 27 4
gpt4 key购买 nike

这是我的字符串:

2015-12-07T14:05:14+02:00 1.1.1.1 <13>1 2015-12-07T14:05:13+02:00 my_server - - - - 2.2.2.2

我正在 try catch “1.1.1.1”、“my_server”和“2.2.2.2”。但是我需要“1.1.1.1”和“my_server”部分应该是可选的。我写了一些正则表达式,当我的测试字符串如上时,它确实匹配所有内容。但是当我的测试字符串是这样的时候它不匹配:

2.2.2.2

所以这是我的正则表达式:

(?:(?P<server_ip>[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}).*?(?:(?P<server_name>\S*?)
- - - - )).*?(?P<remote_ip>[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3})

我正在测试正则表达式 here .有人可以帮帮我吗?

最佳答案

您可以通过简单地在右括号后添加 ? 使您的任何捕获组成为可选的(更精确:匹配零次或一次)。例如

(someregex)?

为应该捕获“1.1.1.1”和“my_server”的组执行此操作。

关于python - 如何捕获多个可选组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com