RegEx选择url并剥离部件

时间:2016-05-12 13:36:30

标签: regex expression

我有这个:

<li><a href="/page.asp?dac=all&amp;num=266">Company Name</a></li>

使用以下RegEx,我可以抓住网址部分:

(?<=<li><a href=").*num=.*(?=">)

我想要获取没有"amp;"部分的网址。 结果就像是:

/page.asp?dac=all&num=266

我该怎么做?

2 个答案:

答案 0 :(得分:0)

你应该能够使用正则表达式替换。

对于C#,它可能如下所示:

var input = "<li><a href="/page.asp?dac=all&amp;num=266">Company Name</a></li>";
var pattern = ".*<a href="(?<before>.*)&amp;(?<after>.*)">.*";
var replace = "${before}&${after}";
var result = Regex.Replace(input, pattern, replace);

答案 1 :(得分:0)

我认为你想要的只是:

s/(?<=<li><a href=".*)(?:amp;)(.*)/$1$2/

然后<li><a href="/page.asp?dac=all&amp;num=266">Company Name</a></li>

变为<li><a href="/page.asp?dac=all&num=266">Company Name</a></li>