会员名称:  密码:   验证码:     会员注册  忘记密码? 
设为首页
加入收藏
返回首页
媒体资讯>> 业界资讯 - 会展动态 - 竞赛&活动 - IT互联网  媒体学院>> 图形图像 - 网页制作 - 网络编程 - 数据库 - 服务器 - 网络应用  作品赏析>> 视频音响 - CG动画 - UI设计 - 平面设计 - 网页设计 - 摄影映象 - 三维2D - 其它设计  媒体工作室>> 视频影像 - 音频声响 - 三维2D - 平面视觉 - 软硬技术 - 摄影映象  人物访谈>> 人物访谈 - 华夏新锐  媒体杂志>> 媒体杂志  素材图库>> 丽景佳图 - 设计素材 - 资料图库 - 矢量图库 - 动态动画 - 特色图标  酷站赏析>> 韩国网站 - 国外网站 - 国内网站  会员中心>> 会员注册 - 会员登陆
当前位置:华夏媒体 - > 媒体学院 - > 网页制作 - > 网页特效/JAVASCRIPT - > 正则表达式regular expression详述
   
   
   
正则表达式regular expression详述 正则表达式reg...  [网页...]
More... 
   
网络协议X档案全集(十) 网络协议X档案...  [其它...]
不可忽视的BIOS参数设置 不可忽视的BIO...  [其它...]
微软IE浏览器非常规修改全攻略(上) 微软IE浏览器非...  [其它...]
微软IE浏览器非常规修改全攻略(下) 微软IE浏览器非...  [其它...]
网管十招 网管十招  [其它...]
微软安全问题 源自OS和IE中集成RSS 微软安全问题 ...  [其它...]
修改注册表使电脑更安全 修改注册表使电...  [其它...]
利用注册表管理IP地址 利用注册表管理...  [其它...]
有关IIS HACK的一些方法整理 有关IIS HACK的...  [其它...]
More 
正则表达式regular expression详述
编辑:华夏媒体     作者:未知     来源:网络     时间:2006-07-29     总浏览量:1405
文字大小:[      ]     文字颜色:      双击滚屏/单击停止

[上一页] [1] [2] [3] [4] [5] [6] [下一页] 


称。
<script LANGUAGE="Javascript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr=str.replace(re,"$2, $1");
document.write(newstr)
</script>
显示结果:"Smith, John". 

  例2、下述示例脚本中,RegExp.input由Change事件处理句柄设置。在getInfo函数中,exec 方法使用RegExp.input的值作为它的参数,注意RegExp预置了$属性。


<script LANGUAGE="Javascript1.2">
function getInfo(abc)
{
re = /(\w+)\s(\d+)/;
re.exec(abc.value);
window.alert(RegExp.$1 + ", your age is " + RegExp.$2);
}
</script>

  请输入你的姓和年龄,输入完后按回车键。
  <FORM><INPUT TYPE="TEXT" NAME="NameAge" onChange="getInfo(this);"></FORM>
  </HTML>


$1, ..., $9属性
用圆括号括着的匹配子串,如果有的话。
是RegExp的属性
静态,只读

在Javascript 1.2, NES 3.0以上版本提供
描述:因为input是静态属性,不是个别正则表达式对象的属性。你可以使用RegExp.input 访问该属性。

能加上圆括号的子串的数量不受限制,但正则表达式对象只能保留最后9 条。如果你要访问所有的圆括号内的匹配字串,你可以使用返回的数组。

这些属性能用在RegExp.replace方法替换后的字符串(输出结果)。当使用这种方式的时候,不用预先考虑RegExp对象。下面给出例子。当正则表达式中没有包含圆括号的时候,该脚本解释成$n的字面意
义。(这里的n是一个正整数)。


例如:
下例脚本使用replace 方法来交换串中单词的位置。在替换后的文本字串中,脚本使用正则表达式RegExp对象的$1和$2属性的值。注意:当它们向replace方法传递参数的时候,这里没有考虑 $ 属性的
RegExp对象的名称。
<script LANGUAGE="Javascript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr=str.replace(re,"$2, $1");
document.write(newstr)
</script>
显示的输出结果为:Smith, John。


[page_break]

以下这些不是正则表达式的新增对象请参阅对应的Javascript对象的属性 $_属性 参考input $*属性
参考multiline $&属性 参考lastMatch $+属性 参考lastParen $`属性
参考leftContext $'属性 参考rightContext compile方法 在脚本运行期间编译正则表达式对象
属于RegExp的方法 在Javascript 1.2, NES 3.0以上版本提供 语法:
regexp.compile(pattern[, flags]) 以数: regexp 正则表达式的名称,可以是变量名或文字串。 
pattern 正则表达式的定义文本。 flags 如果指定的话,可以是下面其中的一个: "g": 匹配所有可能的字串
"i": 忽略大小写 "gi": 匹配所有可能的字串及忽略大小写 描述:
使用compile方法来编译一个正则表达式 created with the RegExp constructor function。这样
就强制正则表达式只编译一次,而不是每次遇到正则表达式的时候都编译一次。当你确认正则表达式能
保持不变的时候可使用compile 方法来编译它(在获得它的匹配模式后),这样就可以在脚本中重复多次使用它。
你亦可以使用compile 方法来改变在运行期间改变正则表达式。例如,假如正则表达式发生变化,
你可以使用compile方法来重新编译该对象来提高使用效率。
使用该方法将改变正则表达式的source, global和ignoreCasesource属性的值。 constructor指出建立对象原型的function。注意这个属性的值由函数本身提供,而不是一个字串包含RegExp的name.Property提供。 
在Javascript 1.1, NES 2.0以上版本提供 ECMA版本ECMA-262 描述:参考Object.constructor.exec方法 在指定的字符串运行匹配搜索。返回一个结果数组。 是RegExp的方法 
在Javascript 1.2, NES 3.0以上版本提供 语法: regexp.exec([str])regexp([str])
参数: regexp,正则表达式的名称,可以是一个变量名或文字定义串。 
str,要匹配正则表达式的字符串,如果省略,将使用RegExp.input的值。 
描述:就如在语法描述中的一样,正则表达工的exec方法能够被直接调用(使用regexp.exec(str))或者间接调用(使用regexp(str))。
假如你只是运行以找出是否匹配,可以使用String搜索方法。
假如匹配成功,exec方法返回一个数组并且更新正则表达式对象属性的值和预先定义的正则表达式对象、RegExp。如果匹配失败,exec方法返回null。
请看下例: <script LANGUAGE="Javascript1.2"> //匹配一个b接着一个或多个d,再接着一个b
//忽略大小写 myRe=/d(b+)(d)/ig; myArray = myRe.exec("cdbBdbsbz");
</script> 下面是该脚本的返回值:对象 属性/Index 描述 例子 
myArray

myArray的内容 ["dbBd", "bB", "d"] 
index
基于0的匹配index 1 


[上一页] [1] [2] [3] [4] [5] [6] [下一页] 

打印   收藏   关闭   至顶部  


关于我们 | 联系我们 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 意见建议
版权所有  Copyright © 2005-2006 华夏媒体(Media86.Com). All Rights Reserved .
网站备案号:粤ICP备06055307号