JS正则表达式不工作
JS regex not working
我有以下代码:
searchSt="Test",searchEd="in";
var html = body.clone()
.children()
.remove()
.end()
.text();
alert(searchSt + "|" + searchEd);
var patt = searchSt + "(.*)" + searchEd;
var result = html.match(patt);
alert(result[0]); //returns null
这返回null,尽管我确信单词在那里:html:
Hello World
Test Write SomeThing here is Words do it. hit in me
怎么了?
如果您使用JQuery,代码应该如下:
<html>
<head>
<title>Test</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<body>
Hello World
Test Write SomeThing here is Words do it. hit in me
</body>
</html>
<script type="text/javascript">
var searchSt = "Test", searchEd = " in";
var html = $('body').clone().children().remove().end().text();
alert(searchSt+"|"+searchEd);
var patt = searchSt+"(.*)"+searchEd;
var result = html.match(patt);
alert(result[0]);//returns null
</script>
请确保将脚本放置在body标记下方。如果它在上面,则找不到body标签。此外,我还改变了获取body$("body")的方式。
regex 没有问题
这看起来不像是正则表达式的问题。可能是别的什么
在此处测试http://ideone.com/nNwz3
var html = "Hello World'
Test Write SomeThing here is Words do it. hit in me";
var searchSt = "Test", searchEd = " in";
var patt = searchSt+"(.*)"+searchEd;
var result = html.match(patt);
print ("'" + result[0] + "'");
print ("'" + result[1] + "'");
输出
'Test Write SomeThing here is Words do it. hit in'
' Write SomeThing here is Words do it. hit'
在RegExp构造函数中放入一个字符串正则表达式(如果需要,可以换行):
var re = new RegExp(searchSt + "(.*)" + searchEd); // => /Test(.*)in/
带倒条:
var re = new RegExp("''d"); // => /'d/
相关文章:
- javascript正则表达式验证未按预期工作
- Javascript正则表达式未按预期工作
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- 正则表达式未按预期工作 /(d).1/
- Javascript正则表达式在IE中失败,但在Chrome和Edge中工作
- FireFox插件sdk页面工作正则表达式
- 这个正则表达式不应该工作吗?
- javascript正则表达式,可以't让+表达式工作
- 如何让分组表达式和全局标志在 Javascript 正则表达式中同时工作
- 正则表达式不能用 .replace() 工作
- Javascript 正则表达式无法正常工作
- 正则表达式无法正常工作以识别 IE 版本
- 数据表正则表达式搜索无法按预期工作以实现完全匹配
- 这个正则表达式是如何工作的
- 为什么这个正则表达式不能按照我想要的方式工作
- 用于验证电子邮件无法正常工作的正则表达式
- 正则表达式在 javascript 中没有按预期工作
- 为什么我的正则表达式在 .NET 中工作,但在 Javascript 中不起作用
- 正则表达式无法正常工作
- 为什么这个JavaScript不能取代工作?(不包含正则表达式)