一个正则表达式,它会引用引号中的任何内容+引号中的单词draft?只有带草稿的引号

时间:2013-03-20 15:46:06

标签: regex

一个正则表达式,它会在引号中抓取任何内容+引号中的单词draft。因此,它将寻找“草稿”这个词,并在发现它时会抓住它前面的所有内容,并在引号内。例如:

1)“地球是美丽的”

2)“我的第二稿”

在上面的例子中,正则表达式只会抓住第二个例子,突出显示引号中的所有内容。如何实现这一目标?

谢谢。

2 个答案:

答案 0 :(得分:4)

你应该能够使用它:

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

说明:

  • \" - 匹配"字符
  • [^\"]* - 匹配任何字符序列,只要序列中没有字符是"字符
  • (d|D)(r|R)(a|A)(f|F)(t|T) - 匹配“草稿”一词,不区分大小写
  • [^\"]* - 匹配任何字符序列,只要序列中没有字符是"字符
  • \" - 匹配"字符

根据您使用的语言,您应该能够摆脱(d|D)(r|R)(a|A)(f|F)(t|T)序列并将其替换为draft,只要您指出应将Regex视为案例 - 不敏感的。

由于您使用的是Javascript,因此您的Regex文字将如下所示:

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

答案 1 :(得分:2)

这种模式应该适合你

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