当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > 一个关于正则表达式的问题

正则表达式
左右若干数字验证的正则表达式
表单验证常用正则(强烈推荐大家收藏下)
ASP 正则表达式的应用使用说明
常见的数字验证正则表达式整理
表单 数字字符验证正则
移除HTML标签的正则表达式
匹配价格的正则表达式
js 验证 常用正则表达式集锦
windows与linux 路径正则写法
正则表达式 传智播客学习
JS 正则表达式中小括号的应用
JS 正则表达式的位置匹配
JavaScript 正则表达式之RegExp属性、方法及应用分析
[原创]javascript 手机号码正则表达式验证函数
ip138中各种客户端验证js代码
Javascript 字符串字节长度计算函数代码与效率分析(for VS 正则)
php中常用的正则表达式的介绍及应用实例代码
ASP 正则表达式常用的几种方法(execute、test、replace)
正则表达式中的反向预搜索(上)
正则表达式中的反向预搜索(下)

一个关于正则表达式的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 40 ::
收藏到网摘: n/a

再补一个问题
(.+)、(.)+、.+不是一样的吗?
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

为什么上面代码运行结果都不一样
有的结果还用逗号分开 是怎么回事呢
复制代码 代码如下:
exec()返回的是匹配到符合模式的内容的数组(由整体和按顺选排列的子片断组成),用alert显示时会显示数组toSting()的结果(就是用逗号隔开的字符串)。
正则表达式中 . (点)表示除换行符以外的任意字符(在加上m参数打开多行匹配模式时表示任意字符),用转义符号\.表示点这个字符本体。

复制代码 代码如下:
var Pattern3=/<(.)+>/i;
alert(Pattern3.exec("<p align=center onclick=dsa>")[1])
为什么得到的是a而不是p?

试试alert(Pattern3.exec("<p align=center onclick=dsa6>")[1])将得到6
(.)+一路匹配过来,返回的是最后匹中的结果。
+(加号)表示+前面的模式(或模式片断)当有至少一个、可有多个。
出现在正则表达式中的()所包围的的内容被视为模式中的子片断,会在exec()中体现出来。