[英]regex find double or single quotes in start and end of each word
我试图找出用单引号或双引号括起来的多个单词或一组单词。
我使用下面的双引号正则表达式模式对其进行了测试。 但是,问题仍然存在,即使我有一个以单双引号开头并以两个双引号结尾的单词,它也会给我输出值。 除了每个单词用两个双引号括起来之外,我还期望找到额外的引号,因为我必须删除那些额外的引号。
f = '"country id"" "state id"'
print(re.findall('^".*["\s"][a-z].*"$',f))
您可以使用
^\s*"[^"]*"(?:\s*"[^"]*")*\s*$
请参阅正则表达式演示。 详情:
^
- 字符串的开头\s*
- 零个或多个(此处为前导)空格"[^"]*"
- 一个"
,除"
之外的零个或多个字符,然后是一个"
(?:\s*"[^"]*")*
- 零个或多个零个或多个空格的序列,然后是"
字符之间没有其他"
的子字符串\s*
- 零个或多个(此处为尾随)空格$
- 字符串结束。如果有转义序列,则需要将其修改为
^\s*"[^"\\]*(?:\\.[^"\\]*)*"(?:\s*"[^"\\]*(?:\\.[^"\\]*)*")*\s*$
请参阅此正则表达式演示。
这里使用"[^"\\]*(?:\\.[^"\\]*)*"
代替"[^"]*"
来匹配
"
- 一个"
字符[^"\\]*
- 除"
和\
之外的零个或多个字符(?:\\.[^"\\]*)*
- 任何转义字符的零个或多个序列(换行符除外),然后是"
和\
之外的零个或多个字符"
- 一个"
字符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.