当前位置:编程学习 > C#/ASP.NET >>

正则表达式如何替换一对标签并清空标签内的内容

输入:Open <application>music</application> and play <song_name> hero </song_name>

输出:Open ${application} and play ${song_name}

求大牛出手解决。 --------------------编程问答-------------------- str=Regex.Replace(str,"(?i)(Open ).*?( and play ).*","$1${application} $2${song_name}"); --------------------编程问答-------------------- 结果正确,这是什么用法啊?愿闻其详 --------------------编程问答-------------------- 这不就是正则么 --------------------编程问答-------------------- 版主您好,?i 是什么用法?请解释下,感谢了 --------------------编程问答-------------------- 忽略大小写 --------------------编程问答-------------------- 最后1个问题,$1$ 是指? --------------------编程问答--------------------
引用 3 楼 q107770540 的回复:
这不就是正则么

正则好强大 --------------------编程问答--------------------
引用 6 楼 Jackile 的回复:
最后1个问题,$1$ 是指?

$num 代表第num个捕获结果(括号()代表捕获),
$1 代表第1个捕获结果,例如(?i)(Open ).*?( and play )
(Open )就是$1
( and play )就是$2 --------------------编程问答--------------------
引用 8 楼 Chinajiyong 的回复:
Quote: 引用 6 楼 Jackile 的回复:

最后1个问题,$1$ 是指?

$num 代表第num个捕获结果(括号()代表捕获),
$1 代表第1个捕获结果,例如(?i)(Open ).*?( and play )
(Open )就是$1
( and play )就是$2


他的回答似乎只是针对application标签和song_name标签吧
如果是Open <abc>text</abc> and play <def>text2</def>
想要输出Open ${abc} and play ${def}呢? --------------------编程问答--------------------
引用 8 楼 Chinajiyong 的回复:
Quote: 引用 6 楼 Jackile 的回复:

最后1个问题,$1$ 是指?

$num 代表第num个捕获结果(括号()代表捕获),
$1 代表第1个捕获结果,例如(?i)(Open ).*?( and play )
(Open )就是$1
( and play )就是$2



输入:Open <application>music</application> and play <song_name> hero </song_name>

捕获可以理解为输出对吧?那为什么又需要(?i)呢。 --------------------编程问答--------------------
引用 8 楼 Chinajiyong 的回复:
Quote: 引用 6 楼 Jackile 的回复:

最后1个问题,$1$ 是指?

$num 代表第num个捕获结果(括号()代表捕获),
$1 代表第1个捕获结果,例如(?i)(Open ).*?( and play )
(Open )就是$1
( and play )就是$2


我就是这个意思,如果不是application,而是XXXX或者YYY呢? --------------------编程问答-------------------- 关注下最终结果
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,