一个regexp,可以获取引号中的任何内容+;引号中的“草稿”一词?只有带“草稿”一词的引号

一个regexp,可以获取引号中的任何内容+;引号中的“草稿”一词?只有带“草稿”一词的引号,regex,Regex,一个regexp,它将获取引号中的任何内容+引号中的单词draft。因此,它会寻找“草稿”一词,一旦找到它,就会抓住它前面和后面引用的所有内容。例如: 1) “地球是美丽的” 2) “我的第二稿” 在上面的示例中,regexp将只抓取第二个示例,突出显示引号中的所有内容。如何做到这一点 谢谢。您应该能够使用以下功能: \"[^\"]*(d|D)(r|R)(a|A)(f|F)(t|T)[^\"]*\" 说明: \”-匹配“字符 [^\”]*-匹配任何字符序列,只要序列中没有字符是“字符 (d

一个regexp,它将获取引号中的任何内容+引号中的单词draft。因此,它会寻找“草稿”一词,一旦找到它,就会抓住它前面和后面引用的所有内容。例如:

1) “地球是美丽的”

2) “我的第二稿”

在上面的示例中,regexp将只抓取第二个示例,突出显示引号中的所有内容。如何做到这一点


谢谢。

您应该能够使用以下功能:

\"[^\"]*(d|D)(r|R)(a|A)(f|F)(t|T)[^\"]*\"
说明:

  • \”
    -匹配
    字符
  • [^\”]*
    -匹配任何字符序列,只要序列中没有字符是
    字符
  • (d | d)(r | r)(a | a)(f | f)(t | t)
    -匹配单词“draft”,不区分大小写
  • [^\”]*
    -匹配任何字符序列,只要序列中没有字符是
    字符
  • \”
    -匹配
    字符
根据您使用的语言,您应该能够去掉
(d | d)(r | r)(a | a)(f | f)(t | t)
序列,并将其替换为
草稿
,只要您指示正则表达式应视为不区分大小写

由于您使用的是Javascript,您的正则表达式文字如下所示:

/\"[^\"]*draft[^\"]*\"/i

这种模式应该适合你

/\"((draft.*)|(.*draft.*)|(.*draft))\"/Ui

你用的是什么语言?语言是JavaScriptKind,有点工作,有点不工作:它抓住了整个东西:“1-Draft”,“2-Draft”,“fake”,“fake Draft 2”,它不应该抓住“fake”,你认为它可以改进吗?谢谢though@Ahmed-我已经稍微修改了我的答案,看看这是否对你更有效。哇,甜甜圈你让它起作用了,伙计,非常感谢你,我为此疯狂了很长一段时间,谢谢@使用选项
i
,您可以告诉正则表达式不区分大小写。这将更易于阅读、理解、维护和修改。@Jean谢谢,我暂且不提这一点,因为OP没有指明他使用的是哪种语言。他后来提到他正在使用Javascript,我也相应地更新了我的答案。