0

我需要用文本替换下面的 url(包括 img 标签)。我对正则表达式不是很好......正如你可以看到它的日期动态,它以两种不同的方式结束:使用alt=";)">有时使用class="wp-smiley" />

<img src="http://thailandsbloggare.se/wp-content/uploads/2012/10/icon_wink.gif" alt=";)">

有时在最后加上 class="wp-smiley"

<img src="http://thailandsbloggare.se/wp-content/uploads/2012/09/icon_wink.gif" alt=";)" class="wp-smiley" />

因此,每当发布此图像时,我都希望将完整的字符串替换为文本“;)”

我已经设法为所有内容编写正则表达式,直到alt=";)">有时使用class="wp-smiley" />但后来我被卡住了,这里需要一些 OR 功能。

<img src="http://thailandsbloggare.se/wp-content/uploads/20\d\d/\d+/icon_wink\.gif

以下回复后更新信息

<img src="http://thailandsbloggare.se/wp-content/uploads/20[0-9]{2}/[01][0-9]/icon_wink.gif" alt=";\)" *(|class="wp-smiley")?>

两者都无法返回包含class="wp-smiley" /> 的字符串

它是一个使用 PHP 在 Wordpress 中构建的网站,我正在使用http://urbangiraffe.com/plugins/search-regex/

提前致谢!

4

2 回答 2

0

通常,在正则表达式中,您可以创建替代的子正则表达式:

(match this|or this)

在你的情况下

(alt=";\)"|class="wp-smiley")

如果 alt=";)" 始终存在,请执行以下操作:

alt=";\)" *(|class="wp-smiley")

当然,我们不知道您使用的是哪种编辑器或编程语言,实际的正则表达式实现可能与上述示例不同。

于 2012-10-16T10:48:54.977 回答
0

尝试以下模式搜索:

<img src="http://thailandsbloggare.se/wp-content/uploads/20[0-9]{2}/[01][0-9]/icon_wink.gif" alt=";\)"(\sclass="wp-smiley")?>

请参考您正在使用的正则表达式引擎支持的语法。但是,对于大多数引擎,上述模式应该可以工作。请注意用于日期范围的字符类,您应该适当地更改它。

于 2012-10-16T11:28:12.057 回答