【发布时间】:2012-05-19 14:18:51
【问题描述】:
原文:
<tag keywords="testpage.page11" index="0">Good</tag>
目标文本:
<a href="testpage/page11.htm">Good</a>
如何编写正则表达式?
到目前为止我所拥有的:
匹配表达式:<tag keywords=\"(.+?)\" index="\d+">(.*?)</tag>
替换表达式:<a href="\1.htm">\2</a>
但问题是,如何将"testpage.page11" 替换为"testpage/page11.htm"?
我应该如何更新我的表达方式?
"aaa.bbb.ccc"部分也可能是"abc.asd.dff.sssdf.sdfafda"或"a.b",项的长度或项的数量不固定。
另一件事是我必须在一个正则表达式中完成所有替换操作。
【问题讨论】:
-
我看不出如何在一个正则表达式中完成所有替换。
-
您使用什么语言和/或实用程序来使用正则表达式执行替换?
-
你没有提到你想用什么语言来做这个,但是如果是 PHP 可能值得看看 php.net/manual/en/…> 函数。
-
无论哪种情况,您都需要更换两次。一个执行基本的结构更改,另一个将
.更改为/。您可以通过将替换作为函数调用将其放入单个调用中,但无论如何它将是两个替换。