简单的正则表达式模式匹配

时间:2014-03-21 02:41:03

标签: javascript php regex vb.net preg-match

这是我的模式

<a href="(.*?)" onmousedown="test\(\)">

这是源

<tags><tags><a href="http://google.com" onmousedown="test()"></tags></tags>

如果我使用该模式,我会得到这个结果:

<a href="http://google.com" onmousedown="test()">

我想要的只是

http://google.com

任何帮助将不胜感激。谢谢! :)

1 个答案:

答案 0 :(得分:0)

我稍微修改了正则表达式(在两端添加了.*),以便它适合以下两个示例。

var regex = /.*?<a href="([^">]*)" onmousedown="test\(\)">.*/; 
var input = '<tags><tags><a href="http://google.com" onmousedown="test()"></tags></tags>';

方法#1:使用正则表达式替换。在这种情况下,这将整个字符串与模式匹配,并将其替换为仅第一个捕获的组($1)。

url1 = input.replace(regex, "$1");
alert(url1)

方法#2:使用正则表达式匹配输入字符串和模式,然后仅选择第一个捕获的组([1])。

url2 = regex.exec(input)[1];
alert(url2);

在这两种情况下,输出都是来自href标记的网址。

相关问题