我正在尝试使用Notepad ++对大量文件进行以下更改。
在替换之前,我有以下文字
<img src ="wsg://iDSGFQ">
<img src ="wsg://iSTACK">
<img src ="wsg://iOVERFLOW">
替换后,我希望得到以下结果
<img src ="http://localhost/images/DSGFQ.jpg">
<img src ="http://localhost/images/STACK.jpg">
<img src ="http://localhost/images/OVERFLOW.jpg">
我可以使用哪种Regex表达式转换文本?
答案 0 :(得分:0)
对于您的确切示例,您可以执行以下操作:
Find: (<img src =")[^"]*(">)
Replace : $1http://localhost/images/DSGFQ.jpg$2
说明:
- (<img src =") is Group capture to $1
- [^"]* is the link we want to replace with
- (">) is Group capture to $2
因为这是HTML,所以您可能想添加更多可选空间,如下所示:
<img src = "wsg://iDSGFQ" >
您可以使用以下代码替换上面的代码:
Find: (<img\s+src\s+=\s+")[^"]*("\s+>)
Replace : $1http://localhost/images/DSGFQ.jpg$2
其中\ s +是空格(大于零的空格)
答案 1 :(得分:0)
如果DSGSQ是您问题中可变的部分(请参阅问题下方的我的评论),
可能的正则表达式是
查找:
(<img src ="wsg://i)([^"]*)(">)
替换:
<img src ="http://localhost/images/$2.jpg">
答案 2 :(得分:0)
您可以尝试以下模式:(<img.+src ?=")[^/]+\/([^"]+)
和替换模式:(\1)http:\/\/localhost\/images(\2)
。
请注意,http:\/\/localhost\/images
已被编码。另外,(\ 1)表示替代第一捕获组,类似地(\ 2)表示替代第二捕获组。
模式说明:
(<img.+src ?=")
匹配<img
和所有字符,直到src
,匹配src
,后跟0或1个空格*
,并用双引号引起等号,存储在第一个捕获组中。
[^/]+
-匹配一个或多个字符,直到\
,它们与\
匹配一个\/
,最后
([^"]+)
匹配一个或多个与双引号不同的字符,并将其存储在第二个捕获组中。