• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >正则表达式 > 正则表达式详述 四

正则表达式详述 四

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了仙学详述,详述,治癌新理念详述,离职原因详述,离职原因详述怎么写等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
以下这些不是正则表达式的新增对象请参阅对应的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  
input 
原始字符串 cdbBdbsbz  
[0] 
最后匹配的字符 dbBd  
[1], ...[n] 
用圆括号括住的匹配字符串,如果有的话。不限制括号的个数。 [1] = bB 
[2] = d  
myRe 
lastIndex 
开始下次匹配操作的index值 5  
ignoreCase 
指出"i"是否使用以忽略大小写 true  
global 
指出是否使用"g"标记来进行匹配所有可能的字串 true  
source 
定义模式的文本字符串 d(b+)(d)  
RegExp 
lastMatch$& 
最后匹配的字符 dbBd  
leftContext$\Q 
最新匹配前面的子串 c  
rightContext$' 
最新匹配后面的子串 bsbz  
$1, ...$9 
圆括号内的匹配子串,如果有的话。圆括号的个数不受限制,但RegExp只能保留最后9个 $1 = bB  
$2 = d  
lastParen $+ 
最后一个加上圆括号的匹配子串,如果有的话 d  

假如你的正则表达式使用了"g"标记,你可以多次使用exec 方法来连续匹配相同的串。当你这样做 
的时候,新的匹配将从由正则表达式的lastIndex 属性值确定的子串中开始。
例如,假定你使用下面的脚本: 

<script LANGUAGE="Javascript1.2"> 
myRe=/ab*/g;str = "abbcdefabh" 
myArray = myRe.exec(str); 
document.writeln("Found "+myArray[0]+". Next match starts at "+myRe.lastIndex) 
mySecondArray = myRe.exec(str); 
document.writeln("Found "+mySecondArray[0]+". Next match starts at "+myRe.lastIndex) 
</script> 


这个脚本显示如下结果: 
Found abb. Next match starts at 3 
Found ab. Next match starts at 9 


例子: 
在下面的例子中,用户输入一个名字,脚本根据输入执行匹配操作。接着检查数组看是否和其它用户的名字匹配。 
本脚本假定已注册的用户的姓已经存进了数组A中,或许从一个数据库中取得。 
<HTML> 
<script LANGUAGE="Javascript1.2"> A = ["zhao","qian","sun","li","liang"] 
function lookup() { firstName = /\w+/i(); if (!firstName) 
window.alert (RegExp.input + "非法输入"); else { count=0; 
for (i=0;i 输入你的姓然后按回车键。 
<FORM><INPUT TYPE:"TEXT" NAME="FirstName" onChange="lookup(this);">
</FORM> 
</HTML> 


global属性
 正则表达式中是否使用了"g"标记。
 RegExp属性,只读 
在Javascript 1.2, NES 3.0以上版本提供
 描述: global是一个个别正则表达式对象的属性 
如果使用了"g"标记,global的值为true;否则为 false。"g"标记指定正则表达式测试所有可能的匹配。 
你不能直接改变该属性的值,但可以调用compile方法来改变它。 ignoreCase 检查正则表达式是否使用了"i"标记 

RegExp属性,只读 在Javascript 1.2, NES 3.0以上版本提供 
描述: 
ignoreCase是个别正则表达式对象的一个属性。 
如果使用了"i"标记,则返回true,否则返回false。"i"标记指示在进行匹配的时候忽略大小写。 
你不能直接改变该属性的值,但可以通过调用compile方法来改变它 input 指出正则表达式要测试那个字串。$_是这个属性的另一个名字。 

RegExp的属性,静态 在Javascript 1.2, NES 3.0以上版本提供  
描述:因为input是静态的,不是某个个别的正则表达式对象的属性。你也可以使用 RegExp.input来表示。 
如果没有给正则表达式的exec或test方法提供字符串,并且RegExp.input中有值,则使用它的值来调用该方法。 
脚本或浏览器能够预置input属性。如果被预置了值且调用exec或 test方法的时候没有提供字符串 
则调用exec或test的时候使用input的值。input可以被浏览器以下面的方式设置: 
当text表单域处理句柄被调用的时候,input被设置为该text输入的字串。 
当textarea表单域处理句柄被调用的时候,input被设置为textarea域内输入的字串。注意multili 
ne亦被设置成true从而能匹配多行文本。 当select表单域处理句柄被调用的时候,input被设置成selected text的值。 
当链接对象的处理句柄被调用的时候,input被设置成<A HREF=...>和</A>之间的字符串。 
事件理现句柄处理完毕后,input属性的值被清除。 lastIndex 可读/可写的一个整数属性,指出下一次匹配从哪里开始。 

RegExp的属性 在Javascript 1.2, NES 3.0以上版本提供  
描述:lastIndex 是个别的正则表达式对象的属性。 这个属性只有当正则表达式的"g"标记被使用以进行全串匹配的时候才被设置。实行以下规则: 
如果lastIndex大小字符串的长度,regex
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 正则表达式详述 四
  • 正则表达式详述 三
  • 正则表达式详述 二
  • 正则表达式详述第一部

相关文章

  • 2017-05-11临时记录:一个正则
  • 2017-05-11去除内容中的html
  • 2017-05-11最全的用正则批量去除Teleport Pro整站下载文件冗余代码
  • 2017-05-11正则表达式提取网址、标题、图片等一例(.Net Asp Javascript/Js)的实现
  • 2017-05-11eregi_replace与preg_replace 函数代码的用法比较
  • 2017-05-11Android中手机号、车牌号正则表达式大全
  • 2017-05-11正则应用之 逆序环视探索 .
  • 2017-05-11正则表达式检查来访IP是否合法的实际应用
  • 2017-05-11php正则替换变量指定字符的方法
  • 2017-05-11PHP preg_replace() 正则替换所有符合条件的字符串

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 常见的正则表达式问题
    • 正则表达式全局匹配模式(g修饰符)
    • 去html代码的正则 推荐
    • JS 正则表达式的相关方法(正则学习笔记1)
    • 可以少写1000行代码的正则表达式
    • 最全的常用正则表达式大全
    • 小议正则表达式效率 贪婪、非贪婪与回溯
    • JAVA中正则表达式匹配,替换,查找,切割的方法
    • javascript 正则表达式用法 小结
    • 如何用正则取input type="text"中的value

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有