Regex 将URL与图像匹配而不是替换字符的正则表达式

Regex 将URL与图像匹配而不是替换字符的正则表达式,regex,Regex,我在xml文件中用这种符号重写规则 <rule> <from></from> <forward></forward> </rule> 在from节点中,我希望匹配一个URL,该URL的末尾有一个图像扩展名,名称中有破折号“-”字符。如果匹配,则在前进节点中,我希望用下划线字符替换破折号“-”字符 比如说 longUrl/test image.jpg将转到longUrl/test\u image.jpg您可以在.htac

我在xml文件中用这种符号重写规则

<rule>
<from></from>
<forward></forward>
</rule>

在from节点中,我希望匹配一个URL,该URL的末尾有一个图像扩展名,名称中有破折号
“-”
字符。如果匹配,则在前进节点中,我希望用下划线字符替换破折号
“-”
字符

比如说


longUrl/test image.jpg
将转到
longUrl/test\u image.jpg

您可以在.htaccess上尝试类似的操作

RewriteRule ^(.*)(\-|%2D)(.*)$ /$1_$3
替换此项:

<from>([^<>]*)-([^/<>]*)\.(jpg|gif)</from>
([^]*)-([^/]*)\(jpg|gif)
与:

$1\u$2.$3

这只需要一个连字符,所以只要它匹配,就重复它。

有没有办法检查所有类型的图像?i、 e png、jpg、gif等
<from>$1_$2.$3</from>