根据捕获组的索引或名称提取匹配到的字符串:
xxxxxxxxxximport re text = "Hello, my name is John Doe and I am 30 years old."pattern = r"is\s+(?P<name>.+)\s+and\s+I\s+am\s+(?P<age>\d+)\s+years\s"match = re.search(pattern, text) if match: name = match["name"] # 通过名称提取捕获组的值 age = match[2] # 通过索引提取捕获组的值 print(f"Name: {name}") print(f"Age: {age}") # 输出结果为: # Name: John Doe# Age: 30
xxxxxxxxxx
import re
text = "Hello, my name is John Doe and I am 30 years old."
pattern = r"is\s+(?P<name>.+)\s+and\s+I\s+am\s+(?P<age>\d+)\s+years\s"
match = re.search(pattern, text)
if match:
name = match["name"] # 通过名称提取捕获组的值
age = match[2] # 通过索引提取捕获组的值
print(f"Name: {name}")
print(f"Age: {age}")
# 输出结果为:
# Name: John Doe
# Age: 30
在上述示例中,我们定义了一个正则表达式模式,其中使用了两个命名捕获组:(?P<name>\w+)和(?P<age>\d+)。这些命名捕获组用于匹配名字和年龄。
(?P<name>\w+)
(?P<age>\d+)
通过使用re.search()函数进行正则匹配后,我们可以使用Match.getitem()函数来提取匹配到的字符串中指定捕获组的值。可以通过捕获组的名称或索引来获取对应的值。
在本例中,我们通过match["name"]和match[2]来分别提取名称为"name"的捕获组和索引为2的捕获组的值。
match["name"]
match[2]
使用Match.getitem()函数可以方便地根据捕获组的索引或名称提取匹配结果中的值。
xxxxxxxxxximport re text = "Hello, World!"pattern = r"World(?!123)"match = re.search(pattern, text) if match: print("Pattern found with negative lookahead.")else: print("Pattern not found with negative lookahead.")
text = "Hello, World!"
pattern = r"World(?!123)"
print("Pattern found with negative lookahead.")
else:
print("Pattern not found with negative lookahead.")
正则表达式付费代写、咨询、答疑解惑,专业、快速、高效帮您解决正则表达式方面的各种问题,可定制各类软件应用程序。
正则学习工作必备在线工具合集
.
^
$
\d
\w
\s
\D
\W
\S
[abc]
[a-z]
[^abc]
aa|bb
?
*
+
{n}
{n,}
{m,n}
(
)
\1
(?:
(?=
(?!
在线客服QQ:543690914,备案号: 苏ICP备15037649号-32。东海县白塔埠镇佳诚电脑经营部版权所有。