ImageVerifierCode 换一换
格式:DOC , 页数:39 ,大小:208KB ,
资源ID:4563423      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4563423.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(正值表达式.doc)为本站会员(jinchen)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

正值表达式.doc

1、元字符 描述.点 匹配任何单个字符。例如正则表达式 r.t匹配这些字符串:rat、rut、r t,但是不匹配root。 $匹配行结束符。例如正则表达式 weasel$ 能够匹配字符串“Hes a weasel“的末尾 但是不能匹配字符串“They are a bunch of weasels.“匹配一行的开始。例如正则表达式When in 能够匹配字符串“When in the course of human events“的开始,但是不能匹配“What and When in the“*匹配 0或多个正好在它之前的那个字符。例如正则表达式 .* 意味着能够匹配任意数量的任何字符。比如.* 可

2、以匹配不管是什么 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。例如正则表达式$被用来匹配美元符号,而不是行尾,类似的,正则表达式.用来匹配点字符,而不是任何字符的通配符。 c1-c2 c1-c2匹配括号中的任何一个字符。例如正则表达式 raout匹配 rat、rot 和 rut,但是不匹配 ret。可以在括号中使用连字符-来指定字符的区间,例如正则表达式0-9可以匹配任何数字字符;还可以制定多个区间,例如正则表达式A-Za-z可以匹配任何大小写字母。另一个重要的用法是“排除”,要想匹配除了指定区间之外的字符也就是所谓的补集在左边的括号和第一个字符之间使用字符,例如正则表达式

3、269A-Z 将匹配除了 2、6、9 和所有大写字母之外的任何字符。匹配词(word)的开始()。例如正则表达式能够匹配字符串“for the wise“中的“the“,但是不能匹配字符串“otherwise“中的“the“。注意:这个元字符不是所有的软件都支持的。( )将 ( 和 ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存 9个),它们可以用 1 到9 的符号来引用。|将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配“it belongs to him“和“it belongs to

4、her“,但是不能匹配“it belongs to them.“。注意:这个元字符不是所有的软件都支持的。+匹配 1或多个正好在它之前的那个字符。例如正则表达式 9+匹配 9、99、999 等。注意:这个元字符不是所有的软件都支持的。? 匹配 0或 1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。i i,j匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式 A0-93 能够匹配字符“A“后面跟着正好 3个数字字符的串,例如 A123、A348 等,但是不匹配A1234。而正则表达式0-94,6 匹配连续的任意 4个、5 个或者 6个数字字符。注意:这个元字

5、符不是所有的软件都支持的。JS 正则表达式大全正则表达式中的特殊字符 字符 含意 做为转意,即通常在“后面的字符不按原来意义解释,如 /b/匹配字符“b“,当 b 前面加了反斜杆后/b/ ,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如“*“匹配它前面元字符 0 次或多次,/a*/ 将匹配a,aa,aaa,加了 “后,/a*/将只匹配“a*“。 匹配一个输入或一行的开头,/a/匹配“an A“,而不匹配“An a“ $ 匹配一个输入或一行的结尾,/a$/匹配“An a“,而不匹配“an A“ * 匹配前面元字符 0 次或多次,/ba*/ 将匹配 b,ba,baa,baaa

6、+ 匹配前面元字符 1 次或多次,/ba*/ 将匹配 ba,baa,baaa ? 匹配前面元字符 0 次或 1 次, /ba*/将匹配 b,ba (x) 匹配 x 保存 x 在名为$1.$9 的变量中 x|y 匹配 x 或 y n 精确匹配 n 次 n, 匹配 n 次以上 n,m 匹配 n-m 次 xyz 字符集(character set),匹配这个集合中的任一一个字符(或元字符) xyz 不匹配这个集合中的任何一个字符 b 匹配一个退格符 b 匹配一个单词的边界 B 匹配一个单词的非边界 cX 这儿,X 是一个控制符,/cM/匹配 Ctrl-M d 匹配一个字数字符,/d/ = /0-9/

7、 D 匹配一个非字数字符,/D/ = /0-9/ n 匹配一个换行符 r 匹配一个回车符 s 匹配一个空白字符,包括n,r,f,t,v 等 S 匹配一个非空白字符,等于/nfrtv/ t 匹配一个制表符 v 匹配一个重直制表符 w 匹配一个可以组成单词的字符(alphanumeric ,这是我的意译,含数字) ,包括下划线,如w匹配“$5.98“中的 5,等于a-zA-Z0-9 W 匹配一个不可以组成单词的字符,如W匹配“$5.98“中的$,等于a-zA-Z0-9 。 用 re = new RegExp(“pattern“,“flags“) 的方式比较好 pattern : 正则表达式 fla

8、gs: g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找) vaScript 动态正则表达式问题 请问正则表达式可以动态生成吗? 例如 JavaScript 中: var str = “strTemp“; 要生成: var re = /strTemp/; 如果是字符连接: var re = “/“ + str + “/“即可 但是要生成表达式,可以实现吗?怎样实现? JAVA javascript 正则表达式 秋雨叶 发表于 2004-12-9 14:54:13 正则表达式是一个描述字符模式的对象。 JavaScript 的 RegExp 对象和 String 对

9、象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在 JavaScript 中,正则表达式是由一个 RegExp 对象表示的 .当然,可以使用一个 RegExp()构造函数来创建 RegExp 对象, 也可以用 JavaScript 1.2 中的新添加的一个特殊语法来创建 RegExp 对象.就像字符串直接量被定义为包含在引号内的字符一样, 正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript 可能会包含如下的代码: var pattern = /s$/; 这行代码创建一个新的 RegExp 对象,并将它赋给变量 parttern.这个特殊

10、的 RegExp 对象和所有以字母“s“结尾的字符串都匹配.用 RegExp()也可以定义 一个等价的正则表达式,代码如下: var pattern = new RegExp(“s$“); 无论是用正则表达式直接量还是用构造函数 RegExp(),创建一个 RegExp 对象都是比较容易的. 较为困难的任务是用正则表达式语法来描述字符的模式. JavaScript 采用的是 Perl 语言正则表达式语法的一个相当完整的子集. 正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符) 描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/就和 所有包含子串 “

11、java“ 的字符串相匹配.虽然正则表达式中的其它字符不是按照字面意思进行匹配的,但它们都具有特殊的意义.正则表达式 /s$/ 包含两个字符. 第一个特殊字符 “s“ 是按照字面意思与自身相匹配.第二个字符 “$“ 是一个特殊字符,它所匹配的是字符串的结尾.所以正则表达式 /s$/ 匹配的就是以字母 “s“ 结尾 的字符串. 1.直接量字符 我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript 的正则表达式还通过以反斜杠()开头的转义序列支持某些非 字母字符.例如,序列 “n“ 在字符串中匹配的是一个直接量换行符.在正则表达式中,许多标点符号都

12、有特殊的含义.下面是这些字符和它们的含义: 正则表达式的直接量字符 字符 匹配 _ 字母数字字符 自身 f 换页符 n 换行符 r 回车 t 制表符 v 垂直制表符 / 一个 / 直接量 一个 直接量 . 一个 . 直接量 * 一个 * 直接量 + 一个 + 直接量 ? 一个 ? 直接量 | 一个 | 直接量 ( 一个 ( 直接量 ) 一个 ) 直接量 一个 直接量 一个 直接量 一个 直接量 一个 直接量 XXX 由十进制数 XXX 指 定的 ASCII 码字符 Xnn 由十六进制数 nn 指定的 ASCII 码字符 cX 控制字符X. 例如, cI 等价于 t, cJ 等价于 n _ 如果

13、想在正则表达式中使用特殊的标点符号,必须在它们之前加上一个 “ . 2.字符类 将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配, 所以正则表达式 / abc / 和字母 “a“ , “b“ , “c“ 中的任何一个 都匹配.另外还可以定义否定字符类,这些类匹配的是除那些包含在中括号之内的字符外的所有字符.定义否定字符尖时,要将一个 符号作为从左中括号算起的第 一个字符.正则表达式的集合是 / a-zA-z0-9 / . 由于某些字符类非常常用,所以 JavaScript 的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, s 匹配的是空

14、格符,制表符和其它空白符, s 匹配的则是空白符之外的任何字符. 正则表灰式的字符类 字符 匹配 _ . 位于括号之内的任意字符 . 不在括号之中的任意字符 . 除了换行符之外的任意字符,等价于n w 任何单字字符, 等价于a-zA-Z0-9 W 任何非单字字符,等价于a-zA-Z0-9 s 任何空白符,等价于 t n r f v S 任何非空白符,等价于 t n r f v d 任何数字,等价于0-9 D 除了数字之外的任何字符,等价于0-9 b 一个退格直接量 (特例) _ 3.复制 用以上的正则表式的语法,可以把两位数描述成 / d d /,把四位数描述成 / d d d d /.但我们

15、还没有一种方法可以用来描述具有任意多数位的数字或者是一个 字符串.这个串由三个字符以及跟随在字母之后的一位数字构成.这些复杂的模式使用的正则表达式语法指定了该表达式中每个元素要重复出现的次数. 指定复制的字符总是出现在它们所作用的模式后面.由于某种复制类型相当常用.所以有一些特殊的字符专门用于表示它们.例如: +号匹配的就是复制前一模式一次 或多次的模式.下面的表列出了复制语法.先看一个例子: /d2, 4/ /匹配 2 到 4 间的数字. /w3 d?/ /匹配三个单字字符和一个任意的数字. /s+javas+/ /匹配字符串 “java“ ,并且该串前后可以有一个或多个空格. /“ * /

16、 /匹配零个或多个非引号字符. 正则表达式的复制字符 字符 含义 _ n, m 匹配前一项至少 n 次,但是不能超过 m 次 n, 匹配前一项 n 次,或者多次 n 匹配前一项恰好 n 次 ? 匹配前一项 0 次或 1 次,也就是说前一项是可选的. 等价于 0, 1 + 匹配前一项 1 次或多次,等价于1, * 匹配前一项 0 次或多次.等价于 0, _ 4.选择 ,分组和引用 正则表达式的语法还包括指定选择项,对子表达式分组和引用前一子表达式的特殊字符.字符| 用于分隔供选择的字符.例如: /ab|cd|ef/ 匹配的是字符串 “ab“,或者是 字符串 “cd“,又或者 “ef“. /d3|

17、a-z4/ 匹配的是要么是一个三位数 ,要么是四个小写字母.在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或 ? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 “java“,其后既可以有 “script“,也可以没有. / (ab|cd) + |ef) / 匹配的既可以是字符串 “ef“,也可以是字符串“ab“ 或者 “cd“ 的一次或多次重复. 在正则表达式中,括号的第二个用途是在完整的模式中定义子模式。当一个正则表达式成功地和目标字符串相匹配时,可以从目标串中抽出和括号中的子模式相匹配 的部

18、分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / a-z + d+/.但是由于假定我们真正关心的是每个匹配 尾部的数字,那么如果我们将模式的数字部分放在括号中 (/ a-z + (d+)/) ,我们就可以从所检索到的任何匹配中抽取数字了,之后我们会对此进行解析的. 代括号的子表达式的另一个用途是,允许我们在同一正则表达式的后面引用前面的子表达式.这是通过在字符串 后加一位或多位数字来实现的.数字指的是代括号的 子表达式在正则表达式中的位置.例如: 1 引用的是第一个代括号的子表达式 . 3 引用的是第三个代括号的子表达式.注意,由于子表达式可以嵌

19、套在其它子表达式中, 所以它的位置是被计数的左括号的位置. 例如:在下面的正则表达式被指定为 2: /(Jjava(Sscript) sis s (funw*) / 对正则表达式中前一子表达式的引用所指定的并不是那个子表达式的模式,而是与那个模式相匹配的文本.这样,引用就不只是帮助你输入正则表达式的重复部分的快 捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字 符. 但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号 ): / “ “* “/ 如果要求开始和结束的引号匹配,我们可以

20、使用如下的引用: /( “ ) “ * 1/ 1 匹配的是第一个代括号的子表达式所匹配的模式.在这个例子中,它实施了一种规约,那就是开始的引号必须和结束的引号相匹配.注意,如果反斜杠后跟随的数字比 代括号的子表达式数多,那么它就会被解析为一个十进制的转义序列,而不是一个引用.你可以坚持使用完整的三个字符来表示转义序列,这们就可以避免混淆了.例如, 使用 044,而不是44.下面是正则表达式的选择、分组和引用字符: 字符 含义 _ | 选择.匹配的要么是该符号左边的子表达式,要么它右边的子表达式 (.) 分组 .将几个项目分为一个单元.这个单元可由 *、+ 、?和|等符号使用,而且还可以记住和这

21、个组匹配的字符以供此后引 用使用 n 和第 n 个分组所匹配的字符相匹配 .分组是括号中的子表达式 (可能是嵌套的).分组号是从左到右计数的左括号数 _ 5.指定匹配的位置 我们已经看到了,一个正则表达式中的许多元素才能够匹配字符串的一个字符.例如: s 匹配的只是一个空白符.还有一些正则表达式的元素匹配的是字符之间宽度为 0 的空间 ,而不是实际的字符例如: b 匹配的是一个词语的边界,也就是处于一个/w 字字符和一个w 非字字符之间的边界.像b 这样的字符并不指定任何一个匹配了的 字符串中的字符,它们指定的是匹配所发生的合法位置.有时我们称这些元素为正则表达式的锚.因为它们将模式定位在检索

22、字符串中的一个特定位置.最常用的锚元 素是 , 它使模式依赖于字符串的开头,而锚元素$则使模式定位在字符串的末尾 . 例如:要匹配词 “javascript“ ,我们可以使用正则表达式 / javascript $/. 如果我们想检索 “java“ 这个词自身 (不像在 “javascript“ 中那样作为前缀),那么我们可以使 用模式 /s java s /, 它要求在词语 java 之前和之后都有空格.但是这样作有两个问题.第一: 如果 “java“ 出现在一个字符的开头或者是结尾.该模式就不会与之匹配,除 非在开头和结尾处有一个空格. 第二: 当这个模式找到一个与之匹配的字符时 ,它返回

23、的匹配的字符串前端和后端都有空格,这并不是我们想要的.因此,我们使用词语 的边界 b 来代替真正的空格符 s 进行匹配. 结果表达式是 /b java b/. 下面是正则表达式的锚字符: 字符 含义 _ 匹配的是字符的开头,在多行检索中 ,匹配的是一行的开头 $ 匹配的是字符的结尾,在多行检索中,匹配的是一行的结尾 b 匹配的是一个词语的边界 .简而言之就是位于字符w 和 w 之间的位置(注意:b 匹配的是退格符) B 匹配的是非词语的边界的字符 _ 6.属性 有关正则表达式的语法还有最后一个元素,那就是正则表达式的属性,它说明的是高级模式匹配的规则.和其它正则表达式语法不同,属性是在 / 符

24、号之外说明的 .即它 们不出现在两个斜杠之间,而是位于第二个斜杠之后.javascript 1.2 支持两个属性.属性 i 说明模式匹配应该是大小写不敏感的.属性 g 说明模式匹配应该是全局的 .也 就是说,应该找出被检索的字符串中所有的匹配.这两种属性联合起来就可以执行一个全局的,大小写不敏感的匹配. 例如: 要执行一个大小不敏感的检索以找到词语 “java“ (或者是 “java“ 、“JAVA“等) 的第一个具体值,我们可以使用大小不敏感的正则表达式 /b javab/i .如果要在 一个字符串中找到 “java“ 所有的具体值,我们还可以添加属性 g, 即 /b java b/gi .

25、 以下是正则表达式的属性: 字符 含义 _ i 执行大小写不敏感的匹配 g 执行一个全局的匹配 ,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了 _ 除属性 g 和 i 之外,正则表达式就没有其它像属性一样的特性了.如果将构造函数 RegExp 的静态属性 multiline 设置为 true ,那么模式匹配将以多行的模式进行.在这 种模式下,锚字符 和 $ 匹配的不只是检索字符串的开头和结尾 ,还匹配检索字符串内部的一行的开头和结尾.例如: 模式 /Java$/ 匹配的是 “Java“,但是并不匹配 “Javanis fun“ .如果我们设置了 multiline 属性,那么后

26、者也将被匹配: RegExp.multiline = true; 在 JAVASCRIPT 里面判断一个字符串是否是电子邮件的格式: if(formname.email.value!=formname.email.value.match(/w +w +.w. +$/) alert(“您的电子邮件格式错误!“); formname.email.focus(); return false; 阅读全文(42) | 回复(0) | 引用(0) | 用 365key 收藏此日志 REDfunction dateVerify(date) var reg = /(d4)(-)(d2)2(d2)$/; var

27、 r = date.match(reg); if(r=null) return false; var d= new Date(r1, r3-1,r4); var newStr=d.getFullYear()+r2+(d.getMonth()+1)+r2+d.getDate(); date=r1+r2+(r3-1)+1)+r2+(r4-1)+1); return newStr=date; /RED javascript 的 17 种正则表达式 作者: 不祥 时间: 2004-6-9 “d+$“ /非负整数(正整数 + 0) “0-9*1-90-9*$“ /正整数 “(-d+)|(0+)$“ /非

28、正整数(负整数 + 0) “-0-9*1-90-9*$“ /负整数 “-?d+$“ /整数 “d+(.d+)?$“ /非负浮点数(正浮点数 + 0) “(0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$“ /正浮点数 “(-d+(.d+)?)|(0+(.0+)?)$“ /非正浮点数(负浮点数 + 0) “(-(0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$“ /负浮点数 “(-?d+)(.d+)?$“ /浮点数 “A-Za-z+$“ /由 26 个英文字母组成的字符串 “A-Z+$“

29、/由 26 个英文字母的大写组成的字符串 “a-z+$“ /由 26 个英文字母的小写组成的字符串 “A-Za-z0-9+$“ / 由数字和 26 个英文字母组成的字符串 “w+$“ /由数字、26 个英文字母或者下划线组成的字符串 “w-+(.w-+)*w-+(.w-+)+$“ /email 地址 “a-zA-z+:/(w+(-w+)*)(.(w+(-w+)*)*(?S*)?$“ /url JavaScript 中的正则表达式 (2) 作者 :中国论坛网收集 来源 :http:/ 加入时间 :2004-8-25 正则表达式对象的属性及方法 预定义的正则表达式拥有有以下静态属性:input,

30、multiline, lastMatch, lastParen, leftContext, rightContext 和$1 到$9。其中 input 和 multiline 可以预设置。其他属性的值在执行过 exec 或 test 方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript 模拟 perl 的正则表达式) 正则表达式对象的属性 属性 含义 $1.$9 如果它(们)存在,是匹配到的子串 $_ 参见 input $* 参见 multiline $ var str = “John Smith“; var

31、newstr = str.replace(myReg, “$2, $1“); document.write(newstr); 将输出“Smith, John“ javascript 正则表达式检验 责任编辑:fuxing 网人帝国 添加时间:2003-11-13 9:13:00 人气:1169 【 大 中 小 】 /* * EO_JSLib.js * javascript 正则表达式检验 */ /校验是否全由数字组成 function isDigit(s) var patrn=/0-91,20$/; if (!patrn.exec(s) return false return true /校验

32、登录名:只能输入 5-20 个以字母开头、可带数字、“_”、“.” 的字串 function isRegisterUserName(s) var patrn=/a-zA-Z1(a-zA-Z0-9|._)4,19$/; if (!patrn.exec(s) return false return true /校验用户姓名:只能输入 1-30 个以字母开头的字串 function isTrueName(s) var patrn=/a-zA-Z1,30$/; if (!patrn.exec(s) return false return true /校验密码:只能输入 6-20 个字母、数字、下划线

33、function isPasswd(s) var patrn=/(w)6,20$/; if (!patrn.exec(s) return false return true /校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” function isTel(s) /var patrn=/+0,1(d)1,3 ?(-?(d)1,12)+$/; var patrn=/+0,1(d)1,3 ?(-?(d)| )1,12)+$/; if (!patrn.exec(s) return false return true /校验手机号码:必须以数字开头,除数字外,可含有“-” function

34、 isMobil(s) var patrn=/+0,1(d)1,3 ?(-?(d)| )1,12)+$/; if (!patrn.exec(s) return false return true /校验邮政编码 function isPostalCode(s) /var patrn=/a-zA-Z0-93,12$/; var patrn=/a-zA-Z0-9 3,12$/; if (!patrn.exec(s) return false return true /校验搜索关键字 function isSearch(s) var patrn=/!#$%,.?0,19$/; if (!patrn.

35、exec(s) return false return true function isIP(s) /by zergling var patrn=/0-9.1,20$/; if (!patrn.exec(s) return false return true 正则表达式 regular expression 详述(一) http:/ 2002-12-15 蓝箭工作室 正则表达式是 regular expression,看来英文比中文要好理解多了,就是检查表达式符 不符合规定!正则表达式有一个功能十分强大而又十分复杂的对象 RegExp,在JavaScript1.2 版本以 上提供。 下面我们看

36、看有关正则表达式的介绍: 正则表达式对象用来规范一个规范的表达式(也就是表达式符不符合特定的要求,比如是不是Email 地址格式等),它具有用来检查给出的字符串是否符合规则的属性和方法。 除此之外,你用 RegExp 构造器建立的个别正则表达式对象的属性,就已经预先定义好了正则表达式 对象的静态属性,你可以随时使用它们。 核心对象: 在 JavaScript 1.2, NES 3.0 以上版本提供。 在 JavaScript 1.3 以后版本增加了 toSource 方法。 建立方法: 文字格式或 RegExp 构造器函数。 文字建立格式使用以下格式: /pattern/flags 即/模式/

37、标记 构造器函数方法使用方法如下: new RegExp(“pattern“, “flags“)即 new RegExp(“模式“,“标记“) 参数: pattern(模式) 表示正则表达式的文本 flags(标记) 如果指定此项,flags 可以是下面值之一: g: global match(全定匹配) i: ignore case(忽略大小写) gi: both global match and ignore case(匹配所有可能的值,也忽略大小写) 注意:文本格式中的参数不要使用引号标记,而构造器函数的参数则要使用引号标记。所以下面的 表达式建立同样的正则表达式: /ab+c/i ne

38、w RegExp(“ab+c“, “i“) 描述: 当使用构造函数的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符 )是必须的。 例如,下面的两条语句是等价的: re = new RegExp(“w+“) re = /w+/ 下面的提供了在正则表达式中能够使用的完整对特殊字符的一个完整的列表和描述。 表 1.3:正则表达式中的特殊字符: 字符 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符b, 通过在 b 前面加一个反斜杠,也就是 /b/,则该字符变成特殊字符,表示 匹配一个单词的分界线。 或者: 对于几个字符,通常说明是特殊的,指出

39、紧接着的字符不是特殊的,而应该按字面解释。 例如:*是一个特殊字符,匹配任意个字符(包括 0 个字符);例如:/a*/意味匹配 0 个或多个a。 为了匹配字面上的*,在 a 前面加一个反斜杠;例如:/a*/匹配a*。 字符 意义:表示匹配的字符必须在最前边。 例如:/A/ 不匹配 “an A,“中的 A,但匹配“An A.“中最前面的 A。 字符$ 意义:与类似,匹配最末的字符。 例如:/t$/ 不匹配 “eater“中的t,但匹配“eat“ 中的t 。 字符* 意义:匹配*前面的字符 0 次或 n 次。 例如:/bo*/匹配“A ghost booooed“中的boooo 或“A bird

40、warbled“中的b,但不匹配“A goat g runted“中的任何字符。 字符+ 意义:匹配+号前面的字符 1 次或 n 次。等价于1,。 例如:/a+/匹配 “candy“中的a和“caaaaaaandy.“中的所有a 。 字符? 意义:匹配?前面的字符 0 次或 1 次。 例如:/e?le?/ 匹配“angel“中的el 和“angle.“ 中的le。 字符. 意义:(小数点)匹配除换行符外的所有单个的字符。 例如:/.n/匹配 “nay, an apple is on the tree“中的an和 on,但不匹配nay。 字符(x) 意义:匹配x并记录匹配的值。 例如:/(foo

41、)/匹配和记录“foo bar.“中的foo。匹配子串能被结果数组中的素 1, ., n 返 回,或被 RegExp 对象的属性$1, ., $9 返回。 字符 x|y 意义:匹配x或者y。 例如:/green|red/匹配“green apple“中的green 和“red apple.“中的red 。 字符n 意义:这里的 n 是一个正整数。匹配前面的 n 个字符。 例如:/a2/不匹配“candy,“中的a,但匹配“caandy,“ 中的所有a 和“caaandy.“中前面的两个 a。 字符n, 意义:这里的 n 是一个正整数。匹配至少 n 个前面的字符。 例如:/a2,不匹配“cand

42、y“ 中的a,但匹配“caandy“ 中的所有a 和“caaaaaaandy.“中的所有a 字符n,m 意义:这里的 n 和 m 都是正整数。匹配至少 n 个最多 m 个前面的字符。 例如:/a1,3/不匹配“cndy“中的任何字符,但匹配 “candy,“中的a ,“caandy,“ 中的前面两个 a和 “caaaaaaandy“中前面的三个a,注意:即使“caaaaaaandy“ 中有很多个a ,但只匹配前面的三 个a 即“aaa“。 字符xyz 意义:一字符列表,匹配列出中的任一字符。你可以通过连字符-指出一个字符范围。 例如:abcd跟a-c 一样。它们匹配 “brisket“中的b和

43、“ache“中的c。 字符xyz 意义:一字符补集,也就是说,它匹配除了列出的字符外的所有东西。 你可以使用连字符-指出一 字符范围。 例如:abc 和a-c 等价,它们最早匹配 “brisket“中的r和“chop.“中的h。 字符b 意义:匹配一个空格(不要与b 混淆) 字符b 意义:匹配一个单词的分界线,比如一个空格(不要与b混淆 ) 例如:/bnw/匹配“noonday“中的no,/wyb/匹配“possibly yesterday.“中的ly。 字符B 意义:匹配一个单词的非分界线 例如:/wBn/匹配“noonday“中的on,/yBw/匹配“possibly yesterday.“中的ye。 字符cX 意义:这里的 X 是一个控制字符。匹配一个字符串的控制字符。 例如:/cM/匹配一个字符串中的 control-M。 字符d 意义:匹配一个数字,等价于0-9。 例如:/d/或/0-9/匹配“B2 is the suite number.“中的 2。 字符D 意义:匹配任何的非数字,等价于0-9。 例如:/D/或/0-9/匹配“B2 is the suite number.“中的B。 字符f 意义:匹配一个表单符 字符n 意义:匹配一个换行符 字符r 意义:匹配一个回车符 字符s 意义:匹配一个单个 w

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报