Python 如何从左到右运行不贪婪的正则表达式
我有以下要匹配的字符串:Python 如何从左到右运行不贪婪的正则表达式,python,regex,Python,Regex,我有以下要匹配的字符串: "data data and some stuff in the middle that can change, data data" 现在,如果我只想提取字符串末尾的“数据”一次,我会使用惰性量词: data\s.+?data 哪些匹配: "data data and some stuff in the middle that can change, data" 如何从左向右执行相同的操作,以便只在字符串开头提取一次“数据” 我正在使用Python flavor
"data data and some stuff in the middle that can change, data data"
现在,如果我只想提取字符串末尾的“数据”一次,我会使用惰性量词:
data\s.+?data
哪些匹配:
"data data and some stuff in the middle that can change, data"
如何从左向右执行相同的操作,以便只在字符串开头提取一次“数据”
我正在使用Python flavor,以防有人需要知道。您有两个选择。第一种是使用捕获组:
^\s*(?:data\s+)*(data\s.*?data)
看
你们需要的是在第一组中。第二种方法是使用以下方法将重复的数据
替换为两端的一个数据
:
^(?:\s*data)+|(data\s*)+$
请参见您想要的输出是什么<代码>数据和中间的一些可以改变的数据,数据< /代码>?是的,这就是我想要的输出。