3

一个正则表达式,它将抓取引号中的任何内容+引号中的单词草稿。所以它会寻找单词 Draft 并在找到它时抓住它前面和后面的所有内容。例如:

1)“地球很美”

2)“我的第二稿”

在上面的示例中,正则表达式将只抓取第二个示例,突出显示引号内的所有内容。如何实现?

谢谢你。

4

2 回答 2

4

你应该可以使用这个:

\"[^\"]*(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)序列并将其替换draft为,只要您指示 Regex 应被视为不区分大小写。

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

/\"[^\"]*draft[^\"]*\"/i
于 2013-03-20T15:49:17.517 回答
2

这种模式应该适合你

/\"((draft.*)|(.*draft.*)|(.*draft))\"/Ui
于 2013-03-20T15:56:50.380 回答