我想搜索 - 替换包含不同地址的行,但我只想搜索 - 替换特定部分。像
搜索:< img border =“0”src =“* http://2.bp.blogspot.com/-OKZyRpnFLgw/UtqngoauEwI/AAAAAAADOlM/aXCJiiTRkaM/ * s1600 / 005.JPG ”/>
替换:< img border =“0”src =“* http://2.bp.blogspot.com/-OKZyRpnFLgw/UtqngoauEwI/AAAAAAADOlM/aXCJiiTRkaM/ * s420 / 005.JPG ”/>
我只想更改粗体文字。斜体文本在每个文件地址中更改。
我不能简单地用s420搜索替换s1600,因为它会更改许多其他条目,我只想在<中显示此更改img 地址。
帮助!
答案 0 :(得分:1)
使用(< img[^>]*?)s1600
的查找内容,\1s420
的替换为将在您提供的行中使用;你应该选择正则表达式。它将在s1600
和下一个< img
之间替换单个出现的>
。如果您希望字符串之间有两个或更多s1600
,则多次运行替换。
查找可能不够严格。如果不应更改pqrs1600
或s160000
等文字,则可以尝试(< img[^>]*?)\bs1600\b
。
如果s1600
始终在*
和\
之间发生,那么查找内容可能会更好(< img[^>]*?\*)s1600/
然后替换为应为\1s420/
。
每种情况下的基本思想是匹配标识项目所在位置的文本,并使用圆括号捕获该文本。 [^>]*?
匹配零个或多个不是>
的字符,*?
部分表示非贪婪匹配,因此它匹配正则表达式的下一部分之前可能的最小序列