【发布时间】:2011-02-22 19:13:29
【问题描述】:
阿罗哈,
我需要匹配page.aspx?cmd=Show&id=,但不匹配http://random address/page.aspx?cmd=Show&id=
现在我只是用strContent.Replace("page.aspx?cmd=Show&id=", "page.aspx/Show/"); 做一个简单的休息替换,但为了避免上述情况,我认为我需要转向正则表达式。
编辑:对不起,我有点缺乏细节当前的替换工作,因为我没有考虑到被修改的地址应该只是相对地址,而不是绝对地址。我需要捕获与page.aspx?cmd=Show&id= 匹配的所有相对地址,并将该字符串转换为page.aspx/Show/。
.StartsWith 和 ^ 不起作用,因为我正在查看一个完整的 html 页面的字符串。所以我需要能够转换:
<p>Hello, please click <a href="page.aspx?cmd=Show&id=10">here</a>.</p>
进入
<p>Hello, please click <a href="page/Show/10">here</a>.</p>
但不转换
<p>Hello, please click <a href="http://some address/page.aspx?cmd=Show&id=10">here</a>.</p>
我在示例中使用了 A 标签,但我还需要转换 IMG 标签。
谢谢!
【问题讨论】:
-
你的意思是它必须是相对地址吗?您的示例描述性不够。