XML:
<target>
<mrk mtype="seg" mid="1">Text 1</mrk>
<mrk mtype="seg" mid="2">Text 2</mrk>
</target>
我想做什么,更具体地说:
使用正则表达式查找并替换mrk ... / mrk标签中的文本,但仅适用于目标标签中的mrk标签(例如,忽略源标签中的mrk标签)。
我尝试过的事情:
<target>(<mrk mtype=\"seg\" mid=\"\d\">(.*?)</mrk>)</target>
失败:
这将Text1和Text2合并在一起。
无论目标标签中只有一组mrk标签,还是有2、3等,我都希望将它们分开获取。
这可能与正则表达式有关吗?
解释我该怎么做的另一种方式是说我想捕捉:
<target>(.*?)</target>
,然后捕获以下所有实例:
<mrk mtype=\"seg\" mid=\"\d\">(.*?)</mrk>
分别位于目标标签内-不再像现在那样混在一起。
其他故障:
据我所知,我不能将其分解为两个表达式,因为我需要做的是首先找到目标标签,然后替换目标标签中标记的标签之间的文本。
答案 0 :(得分:0)
"(.[^"]*)"
会给您单引号内的任何内容