2 回答
TA贡献1786条经验 获得超13个赞
虽然不完全清楚您要匹配什么,但我正在试一试。
如果您只是想获取第二个和最后一个元素,那么这可以在没有正则表达式的情况下完成。
var = "77777 11111 12891 22222 I"
elements = var.split(" ") # Take the string, and split it into a list on spaces.
first_number = elements[1] # Get the second element ("11111").
second_number = elements[-2] # Get the second element from the end ("22222").
或者,如果您真的想使用正则表达式或正在寻找77777像这样的正则表达式后的数字:
import re
var = "77777 11111 12891 22222 I"
# Finds the 5 numbers that follows a "7" repeated 5 times (with a space in between).
first_number = re.search("(?<=7{5}\s)\\d{5}", var).group()
# Find the 5 numbers that precedes an "I" (with a space in between).
second_number = re.search("\\d{5}(?=\sI)", var).group()
TA贡献1828条经验 获得超3个赞
re.findall("(?<=77777)\\s+(?:\\d{1,6})",var)
re.findall("(?:\\d{1,6})\\s+(?=i)",aa)
您可以阅读 python re 模块了解详细信息。
添加回答
举报