Regex 在行子字符串上应用正则表达式

Regex 在行子字符串上应用正则表达式,regex,sed,sublimetext3,Regex,Sed,Sublimetext3,给出一行,例如: <String id="blah"><a href="#" class="btn">Download</a></String> 我假装把它改成: <String id="blah">&lt;a href="#" class="btn"&gt;Download&lt;/a&gt;</String> a href=“#”class=“btn”下载/a 也就是说,我想应用

给出一行,例如:

<String id="blah"><a href="#" class="btn">Download</a></String>

我假装把它改成:

<String id="blah">&lt;a href="#" class="btn"&gt;Download&lt;/a&gt;</String>
a href=“#”class=“btn”下载/a
也就是说,我想应用替换
1)

仅适用于
字符串
标记中包含的文本

可以在一行中完成吗

注意:我只是用升华来替换文本。我想要的是像regex一样的sed

更新:您可以在
字符串
标记中获取任何内容,而不仅仅是
表达式。

尝试以下操作:

<a(.*?)>(.*?)<\/a>

编辑 根据注释,这里有一个正则表达式,它匹配
标记之间的所有内容,并用
替换

/<String(.*?)>(.*?)<([^>]*)>(.*?)<(.*?)><\/String>/
/(.*)]*)>(.*)/


注意:您还可以使用
/g
修饰符将其设置为全局。所有比赛(第一场比赛不要回来)

Brilliant Shafizadeh。我把这个问题稍微收尾了一点,因为和往常一样,我对要求不是太明确。我们能否找到一个与
字符串
标记中的
无关的解决方案。@RTURADO我不确定您到底需要什么,请在您的问题中添加一些示例(加上预期结果)。。然后我将根据您的更新更新我的答案。我只想更改
标记中的所有
。您的解决方案假设我在
字符串中有一个
标记;但是我可以在那里有任何文本,例如:
blah
blah
  • blah
  • ,等等。这三个例子的替换应该是
    blah
    blah
    liblah/li
    。谢谢Shafizadeh。你能解释一下你的答案吗?为什么所有的捕获组?我不能接受你的解决方案。在上一个模式中,假设字符串标记中有两个标记(包含在<和>)中。我可以有任何东西(更具体地说,我可以说任何XML代码)。例如
    a>b>ef
    
    /<String(.*?)>(.*?)<([^>]*)>(.*?)<(.*?)><\/String>/