gpt4 book ai didi

正则表达式匹配 0 个或偶数个连续字符?

转载 作者:行者123 更新时间:2023-12-05 09:26:23 24 4
gpt4 key购买 nike

我想看看是否可以有一个正则表达式模式来匹配字符串中包含的单引号之间的内容,并要求使用另一个单引号对单引号进行转义。

例子:

The quick 'brown fox ''jumped ''''over the lazy dog''';

正则表达式应捕获此字符串:'brown fox ''jumped ''''over the lazy dog''' .由于此处使用另一个单引号对单引号进行了转义,因此不包括字符串的其余部分。

这是我目前所拥有的(?<!\')\'(?!\').+(?<!\')\'(?!\')

这几乎可以工作,除非如果结束的非转义单引号前面有一个转义引号,则不会捕获该组。

是否可以更改负向回顾以说明如果后面有 0 个或偶数个单引号,则应该匹配单引号?

最佳答案

你可以在不环顾四周的情况下使用这个正则表达式:

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

RegEx Demo

正则表达式分解:

  • ':匹配一个'
  • (: 开始一个捕获组
    • (?::
      • [^']+:匹配 1+ 个不是 '
      • 的任何字符
      • |:或者
      • '':匹配一对引号即 ''
    • )*:结束非捕获组。重复此组 0 次或更多次
  • ):结束捕获组
  • ':匹配一个'

关于正则表达式匹配 0 个或偶数个连续字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73991599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com