在现有标签中插入属性(字符串)。
我需要将<pagenum><pagenum/>
中找到的号码插入id=
属性,因此在此示例中。
我从:
开始 <pagenum page="normal" id="page">1<pagenum/>
我需要将其替换为:
<pagenum page="normal" id="page1">1<pagenum/>
那里的字符串可以是任何字母数字值。
这个正则表达式是什么样的? 像这样的东西?
/s/<pagenum page="normal" id="page">1<pagenum//>/<pagenum page="normal" id="page"{Value}>1\<pagenum/>
我的反引用太生锈了......
答案 0 :(得分:2)
尝试:
s!(<pagenum page="normal" id=")([a-z0-9_-]+)(">)([0-9]+)(<pagenum/>)!\1\2\4\3\4\5!i
e.g:
echo '<pagenum page="normal" id="page">1<pagenum/>' | \
sed -r 's!(<pagenum page="normal" id=")([a-z0-9_-]+)(">)([0-9]+)(<pagenum/>)!\1\2\4\3\4\5!i'
注意 - 通常</pagenum>
与<pagenum/>
相比不是结束标记?