请问如何用正则匹配下面的字符串:<A href=domestic.asp?currentpage=1>[ 1 ]</a>
其中1是变量,要把上面的全部替换为空,函数已写好了。不好意思,没分了,有答案以后给加上。
參考答案:你用什么语言?我这个上C#的例子在其他语言上稍有不同,大体上差不多.
<[a-z]+[\w]*.*?>(?<value>.*?)</[a-z]+[\w]*>
value匹配的是[1]
要是想替换可以用这个函数:
Regex.Replace(
str, // 原始字符串
@"<[a-z]+[\w]*.*?>(?<value>.*?)</[a-z]+[\w]*>",
"${value}", // 要替换的字符串
RegexOptions.Singleline
);
这个可以去除标记,留下[1]
错在开始的\s上,标记<和A之间没有空格,这个是html语法规定的
还有asp\? curr这里curr前面应该没有空格.
<\s* A在A的前面应该没有空格.
<\s* A \s在\s前面应该没有空格.
应该是:
"<A\s+href\s*=\s*domestic.asp\?currentpage=\d>\[\s*\d\s*\]\s*</a>"
注意复制时两边不要有任何空格.