给出如下行:
<String id="blah"><a href="#" class="btn">Download</a></String>
我假装将其改为:
<String id="blah"><a href="#" class="btn">Download</a></String>
也就是说,我想申请替换
1)<
到<
,和
2)>
至>
仅限于String
标记中包含的文字。
是否可以在一行中完成?
注意:我只是使用sublime进行文本替换。我所追求的是一个类似sed的正则表达式。
更新:您可以在String
标记内获取任何内容,而不仅仅是<a href...>...</a>
个表达式。
答案 0 :(得分:1)
试试这个:
<a(.*?)>(.*?)<\/a>
<a
匹配字符串<a
(.*?)>
匹配所有(如果存在),直到>
字符(.*?)<\/a>
匹配(如果存在)的所有内容,直到</a>
个字符然后用以下模式替换它以产生预期结果:
<a$1>$2</a>
根据评论,这是一个正则表达式,它匹配<String>
标记之间的所有内容,并用<
和>
替换<
和>
:
/<String(.*?)>(.*?)<([^>]*)>(.*?)<(.*?)><\/String>/
注意:您还可以使用/g
修饰符将其设为全局。所有比赛(不会在第一场比赛时返回)