在匹配的单词后使用正则表达式获取字符串?

时间:2016-08-13 11:25:36

标签: javascript html regex string

我有一个字符串:



function test(){
  var datas = "http://localhost/test/test.html?src=www.123@gmail.com(testing)";
  var spl = datas.match(/[^src=]?\b*/g);
	document.getElementById('demo').innerHTML = spl;
  }
test();

<p id="demo"></p>
&#13;
&#13;
&#13;

我在src=字符串匹配后需要整个字符串。我需要像www.123@gmail.com(testing)这样的答案。请帮助我...纠正我的代码

2 个答案:

答案 0 :(得分:0)

您可以使用JavaScript RegExp原型中的正则表达式capturing groupsexec()函数。

例如,以下代码将在第一次出现src=后提取所有内容,或者如果提供的字符串不匹配则返回null

function extract(str) {
  var regex = /^(?:.*src=)(.*)$/i;
  return regex.test(str) ? /^(?:.*src=)(.*)$/i.exec(str)[1] : null;
}

document.getElementById('demo').innerHTML = extract('http://localhost/test/test.html?src=www.123@gmail.com(testing)');

检查此正则表达式的说明,并在https://regex101.com/r/zW1lK8/1

处测试不同的字符串

答案 1 :(得分:0)

这是一种方法。你肯定需要查找一些关于使用正则表达式的在线教程。

  var datas = "http://localhost/test/test.html?src=www.123@gmail.com(testing)";
  var m1 = datas.match(/[&?]src=([^&]+)/);
  var spl = "notfound";
  if (m1 && m1.length>1) spl=m1[1];
  document.getElementById('demo').innerHTML = spl;