正则表达式到变量

2024-10-01 07:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用regex101.com#python,下面是我的字符串:

正则表达式:

.* src=.(?<Pvar1>\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}).* dst=.(?<Pvar2>\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})

测试字符串:

k=57829.57892gfjhfg.tur90eunn 4538.333.3 user="JHenry" src="10.10.1.21" dst="10.10.20.42" ttubbies="yellow"]

我试着把它转换成我的代码,但我不知道怎么做。如何在Python中获取var1var2并打印它们?你知道吗

我试过print(var1)但没有成功。你知道吗


Tags: 字符串代码srccomdstyellowuservar1
2条回答

使用re.match返回的Match对象的group()方法访问捕获组。如果使用普通捕获组,则参数是组号;如果使用命名捕获组,则参数是名称。你知道吗

str = 'k=57829.57892gfjhfg.tur90eunn 4538.333.3 user="JHenry" src="10.10.1.21" dst="10.10.20.42" ttubbies="yellow"]'
regexp = r'.* src=.(?<Pvar1>\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}).* dst=.(?<Pvar2>\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})'
match = re.match(regexp, str)
pvar1 = match.group('Pvar1')
pvar2 = match.group('Pvar2')

参见Match objects的文档。你知道吗

我会这样做。你知道吗

import re
string = 'k=57829.57892gfjhfg.tur90eunn 4538.333.3 user="JHenry" src="10.10.1.21" dst="10.10.20.42" ttubbies="yellow"]'
results = re.match(".* src=.(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}).* dst=.(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})", string)
print results.group(1)
print results.group(2)

输出示例:

$ python t.py
10.10.1.21
10.10.20.42

相关问题 更多 >