Python正则表达式将带引号的字符串与转义的单引号匹配

尤尔基

我使用这种模式来匹配解析器中的单引号字符串:

"'.+?'"

但是我需要可以用postgres查找单引号的正则表达式,例如单qoutes的转义(将单qoutes加倍)。需要匹配以下内容:

"'first', 'sec''ond', 't''hi''rd'"

我想找到以单引号开头和结尾的字符串的最短匹配项,因此上面的字符串表示3个子字符串:

'first'
'sec''ond'
't''hi''rd'
维克多·史翠比维

当然,这'(?:[^']|'')*'是有效的正则表达式:它匹配一个'后跟零个或多个字符的字符,而不是'double'或后跟一个尾数的double '

然而,为了使之更有效率,你可以展开使用它UNROLL-的环技术

'[^']*(?:''[^']*)*'

查看正则表达式演示,并注意正则表达式查找所有匹配项需要执行多少步骤。

正则表达式可以理解为

  • ' -匹配一个 '
  • [^']* -然后是零个或多个其他字符 '
  • (?:''[^']*)*-然后是零个或多个序列,''后跟零个或多个字符,而不是'
  • '-然后匹配结尾'

此正则表达式具有线性模式,涉及尽可能少的回溯。

只是注意:你仍然可以让对目前的情况正则表达式的工作,如果你添加一个先行检查是否有,尾随之后的字符串或结尾'

'.+?'(?=,|$)
     ^^^^^^^

请参阅regex演示但是,它依赖于上下文并且效率不如展开的正则表达式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有转义单引号的单引号字符串上的Python正则表达式

来自分类Dev

javascript正则表达式选择带引号的字符串,但不转义引号

来自分类Dev

正则表达式匹配忽略双引号的带引号的字符串

来自分类Dev

正则表达式可以匹配任何带引号的字符串或特定的不带引号的字符串

来自分类Dev

如何使用正则表达式匹配单引号或双引号中的字符串

来自分类Dev

正则表达式以匹配变量或字符串的值(带或不带引号)

来自分类Dev

Ruby正则表达式提取单引号/双引号之间的字符串,其中可能包含转义字符

来自分类Dev

正则表达式,某些字符串后的单引号之间的匹配

来自分类Dev

正则表达式检索带引号的字符串和引号字符

来自分类Dev

正则表达式处理带引号的字符串和双引号英寸

来自分类Dev

使用正则表达式捕获不带引号的双引号内的字符串

来自分类Dev

正则表达式提取单引号或双引号之外的字符串

来自分类Dev

正则表达式提取单引号或双引号之外的字符串

来自分类Dev

正则表达式匹配按空格分隔的转义双引号/单引号?

来自分类Dev

Golang正则表达式替换不包括带引号的字符串

来自分类Dev

正则表达式查找带引号的字符串中的所有大括号

来自分类Dev

正则表达式用_(Sublime)替换带引号的字符串中的空格

来自分类Dev

正则表达式查找带引号的字母的字符串

来自分类Dev

正则表达式查找带引号的字符串中的所有大括号

来自分类Dev

无法在ruby中使用正则表达式突出显示带引号的字符串

来自分类Dev

PHP 正则表达式提取带引号和括号的子字符串

来自分类Dev

正则表达式匹配忽略双引号的双引号字符串

来自分类Dev

使用正则表达式在 Python 中将转义的双引号替换为单引号

来自分类Dev

正则表达式的Python原始字符串表示法的单引号,双引号或三重双引号?

来自分类Dev

java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

来自分类Dev

java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

来自分类Dev

Javascript正则表达式:计算字符串中未转义的引号

来自分类Dev

正则表达式-匹配引号之间的字符串以及引号之前的字符串

来自分类Dev

正则表达式-获取引号中的字符串时忽略转义的引号和注释

Related 相关文章

  1. 1

    带有转义单引号的单引号字符串上的Python正则表达式

  2. 2

    javascript正则表达式选择带引号的字符串,但不转义引号

  3. 3

    正则表达式匹配忽略双引号的带引号的字符串

  4. 4

    正则表达式可以匹配任何带引号的字符串或特定的不带引号的字符串

  5. 5

    如何使用正则表达式匹配单引号或双引号中的字符串

  6. 6

    正则表达式以匹配变量或字符串的值(带或不带引号)

  7. 7

    Ruby正则表达式提取单引号/双引号之间的字符串,其中可能包含转义字符

  8. 8

    正则表达式,某些字符串后的单引号之间的匹配

  9. 9

    正则表达式检索带引号的字符串和引号字符

  10. 10

    正则表达式处理带引号的字符串和双引号英寸

  11. 11

    使用正则表达式捕获不带引号的双引号内的字符串

  12. 12

    正则表达式提取单引号或双引号之外的字符串

  13. 13

    正则表达式提取单引号或双引号之外的字符串

  14. 14

    正则表达式匹配按空格分隔的转义双引号/单引号?

  15. 15

    Golang正则表达式替换不包括带引号的字符串

  16. 16

    正则表达式查找带引号的字符串中的所有大括号

  17. 17

    正则表达式用_(Sublime)替换带引号的字符串中的空格

  18. 18

    正则表达式查找带引号的字母的字符串

  19. 19

    正则表达式查找带引号的字符串中的所有大括号

  20. 20

    无法在ruby中使用正则表达式突出显示带引号的字符串

  21. 21

    PHP 正则表达式提取带引号和括号的子字符串

  22. 22

    正则表达式匹配忽略双引号的双引号字符串

  23. 23

    使用正则表达式在 Python 中将转义的双引号替换为单引号

  24. 24

    正则表达式的Python原始字符串表示法的单引号,双引号或三重双引号?

  25. 25

    java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

  26. 26

    java-正则表达式使用空格分割字符串,但不考虑双引号或单引号

  27. 27

    Javascript正则表达式:计算字符串中未转义的引号

  28. 28

    正则表达式-匹配引号之间的字符串以及引号之前的字符串

  29. 29

    正则表达式-获取引号中的字符串时忽略转义的引号和注释

热门标签

归档