黑马程序员技术交流社区
标题:
正则表达式贪婪模式和终结贪婪模式(?)是什么意思
[打印本页]
作者:
瞎猫馒头米田共
时间:
2013-8-22 21:39
标题:
正则表达式贪婪模式和终结贪婪模式(?)是什么意思
贪婪模式和终结贪婪模式(?)是什么意思?
作者:
心动行动
时间:
2013-8-22 21:45
贪婪模式,就是在整个表达式匹配成功的前提下,尽可能多的匹配,也就是所谓的“贪婪”,通俗点讲,就是看到想要的,有多少就捡多少,除非再也没有想要的了。
非贪婪模式,就是在整个表达式匹配成功的前提下,尽可能少的匹配,也就是所谓的“非贪婪”,通俗点讲,就是找到一个想要的捡起来就行了,至于还有没有没捡的就不管了。
作者:
孔健
时间:
2013-8-23 11:20
在正则表达式中,当“?”紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。
非贪婪模式就是尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。
例如,对于字符串 "happppy",'p+?' 将匹配一个"p",而 'p+' 将匹配所有 "p"。
作者:
xinchenglong
时间:
2013-8-24 20:29
1、贪婪模式: 根据匹配字符串以及表达式尽可能多的进行匹配,成为贪婪匹配模式
例如:/a\d+/ 即可以匹配首字母为a的之后的许多数字,这个不进行限制
或者另外一种方法/a\d{2,}/也可以实现同样的方法
2、非贪婪模式: 根据匹配字符串以及表达式尽可能少的进行匹配。使用的方法就是在修饰匹配次数的特殊符号后再加上一个?号进行限制 如"*?","+?","{n,}?","{n,m}?"
如:/a\d+?/即匹配的字符串为a为首字母,后面只能有一个数字
从指定字符串中取得url信息
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> javascript 测试 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<script type="text/javascript">
var str = "<h2 style=\"font-size: 12px; margin-bottom:5px; padding-bottom:5px\"><a href = \"http://www.my400800.cn\" title=\"400电话\">400电话 </a></h2>";
var patt=/<a.*?[=][ ]{0,}[\"\']{1,1}(.*?)[\"\']{1,1}.*?>/g;
//patt.compile(patt);
//var patt = new RegExp(/W3*hool/img,"g");
var result;
while ((result = patt.exec(str)) != null) {
document.write(result[1]);
document.write("<br />");
document.write(patt.lastIndex);
document.write("<br />");
}
</script>
</BODY>
</HTML>
输出结果:
http://www.my400800.cn
119
作者:
咖喱猫
时间:
2013-8-24 21:08
{:soso__3669389859068460655_3:}哇哇,还有着情况
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2