写一个能选定不在一对引号内的空格的正则表达式
要选定不在一对引号内的空格,可以使用以下正则表达式:
\s(?=(?:[^"']*"[^"']*")*[^"']*$)
这个正则表达式使用了正向预查,它会匹配一个空格,但只有当这个空格后面的引号数量是奇数时才匹配成功。这样就可以确保选定的空格不在一对引号内。
以下是一个示例代码片段,演示如何使用该正则表达式:
import re
text = 'This is a "sample" string with spaces "inside quotes". But this space should be selected.'
pattern = r'\s(?=(?:[^"']*"[^"']*")*[^"']*$)'
result = re.findall(pattern, text)
print(result) # 输出结果:[' ', ' ', ' ', ' ']
在这个示例中,通过使用re.findall()函数和正则表达式,我们可以找到所有不在一对引号内的空格。
原文地址: https://www.cveoy.top/t/topic/h971 著作权归作者所有。请勿转载和采集!