Javascript RegEx 和 XMLHttpRequest

标签 javascript regex xmlhttprequest match

我正要尝试从 XMLHttpRequest 返回的文本中解析标签,但我无法让它工作。 我已经在 w3schools 编辑器 (http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_regexp_i) 中对其进行了测试,当文本没有换行符但我卡住了时我可以在其中工作:

<script language="javascript" type="text/javascript">

var req = new XMLHttpRequest();  
req.open('GET', 'www.mysite.com/index.html', false);   

req.onreadystatechange=function() {

   if (req.readyState==4) {
      var text = req.responseText;
      var tag = /<div class='classdef'>(.*?)<div/gm;
      var mt = tag.exec(text);
      alert(mt);
      return;
   }
};

req.send(null);  

</script>

警报框充其量只是写入原始正则表达式 "/(.*?)

有人指出我做错了什么吗? :)

亲切的问候。

更新的解决方案

感谢您的所有建议,在我的代码中似乎不止一件事。我的目标是将数据从另一个页面输入到一个页面的一部分。我最终按照您的建议使用了 jquery 来实现这一目标:

<div id="IdOfTagToAddTo"></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>
<script>

$('#IdOfTagToAddTo').load('somePageInMyDomain.html #SomeIdOfATag');

</script>

我意识到我应该更明确我最初的目标。 :S。为此,我很抱歉,因为我知道这总是会引起困惑:(。 感谢你们给我的所有建议。从现在开始,我正在进入 jQuery 的新世界(至少对我来说 :))。

亲切的问候

最佳答案

扩展 gor 的答案。

使用 jQuery:

  $(req.responseText).find('div.classdef').text()

使用拆分(无正则表达式),有点神秘:

req.responseText.split("<div class='classdef'>")[1].split('</div>')[0]

关于Javascript RegEx 和 XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5056107/

相关文章:

javascript - 有没有办法在课前或课后添加链接?

javascript - Douglas Crockford 书中 Function.prototype 上的“方法”

.net - 用于解析命令行参数的正则表达式失败

javascript - 匹配两个左括号

javascript - 使用 XMLHttpRequest() 进行 Ajax 调用是否已过时?

javascript - 如何复制输入元素及其值?

Javascript - 使数组索引 toLowerCase() 不起作用

用于识别包含在三引号中的有效 Python 字符串的 Javascript flavor 正则表达式

javascript - XMLHttpRequest 抛出错误responseXML = null,但内容仍然出现

XMLHTTPRequest() 之后的 Javascript 返回