my_text="""start
value1 as5q
value3 dd9w
type b
value6 dp1p
stop
start
value1 as
value2 er
type a
stop
start
value1 as5
value2 er2
type c
value4 dd1
stop"""
blocks = re.findall("(?:start)(.*?)(?:stop)",my_text,re.DOTALL)
import re
ss=""" copy&paste sample text in this area """
regx= re.compile(r'(?s)start.*?value1\s+(a[^\s]*)')
for m in regx.finditer(ss):
print(m.group(1))
它利用非捕获组、非贪婪匹配运算符和re.DOTALL标志来匹配换行符
你想要这样的输出吗
那么,你可以试试这个
regex
Demo,,,其中目标值(
value1
的值包含前缀“a
”)被捕获到group 1
(\1
)在
python
脚本中,可能是这样的相关问题 更多 >
编程相关推荐