精通 JS正则表达式
JS正则表达式大全

JS正则表达式大全JS正则表达式大全【1】正则表达式中的特殊字符【留着以后查用】字符含意\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/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+ 匹配前面元字符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]/\D 匹配一个非字数字符,/\D/ = /[^0-9]/\n 匹配一个换行符\r 匹配一个回车符\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/\t 匹配一个制表符\v 匹配一个重直制表符\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。
js正则表达式详细教程

js正则表达式详细教程//校验是否全由数字组成[code] function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } [/code]//校验登录名:只能输⼊5-20个以字母开头、可带数字、“_”、“.”的字串[code] function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } [/code]//校验⽤户姓名:只能输⼊1-30个以字母开头的字串[code] function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) return false return true } }} //校验密码:只能输⼊6-20个字母、数字、下划线 [code] function isPasswd(s) { var patrn=/^(\w){6,20}$/; if (!patrn.exec(s)) return false return true } [/code]//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”[code] 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 } [/code]//校验⼿机号码:必须以数字开头,除数字外,可含有“-”[code] function isMobil(s) { var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true } [/code]//校验邮政编码[code] function isPostalCode(s) { //var patrn=/^[a-zA-Z0-9]{3,12}$/; var patrn=/^[a-zA-Z0-9 ]{3,12}$/; if (!patrn.exec(s)) return false return true } [/code]//校验搜索关键字[code] function isSearch(s) { var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\] [\]\{\}:;'\,.<>?]{0,19}$/; if (!patrn.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 } [/code]正则表达式[code] "^\\d+$" //⾮负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //⾮正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //⾮负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //⾮正浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?\\d+) (\\.\\d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英⽂字母组成的字符串 "^[A-Z]+$" //由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 "^[A-Za-z0-9_]*$" [/code]正则表达式使⽤详解简介简单的说,正则表达式是⼀种可以⽤于模式匹配和替换的强有⼒的⼯具。
js 验证 常用正则

js 验证常用正则JavaScript是一个非常强大的脚本语言,它是web开发中最广泛使用的语言之一。
它可以用于开发交互式网页以及许多其他应用程序。
JavaScript中的正则表达式是非常重要的,它可以用来验证用户输入的数据,例如电子邮件、电话号码、日期、时间等等。
在这篇文章中,我们将探讨一些常用的JavaScript正则表达式。
1. 验证电子邮件首先,我们来讨论一下如何验证一个电子邮件地址。
在JavaScript中,我们可以使用正则表达式来实现这个功能。
首先,我们需要一个包含电子邮件地址的字符串:```javascriptvaremail="*******************";```然后,我们需要一个正则表达式来验证电子邮件地址。
下面是一个简单的正则表达式,可以匹配大部分电子邮件地址:```javascriptvar emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;```现在,我们可以使用test()方法,将我们的电子邮件地址和正则表达式传递给它来验证电子邮件地址:```javascriptif (emailPattern.test(email)) {console.log("Valid email address");} else {console.log("Invalid email address");}```2. 验证电话号码下一个正则表达式,我们将探讨如何验证电话号码。
在JavaScript中,我们可以使用正则表达式来验证电话号码。
首先,我们需要一个包含电话号码的字符串:```javascriptvar phoneNumber = "123-456-7890";```然后,我们需要一个正则表达式来验证电话号码。
下面是一个简单的正则表达式,可以匹配大部分电话号码:```javascriptvar phonePattern = /^\d{3}-\d{3}-\d{4}$/;```现在,我们可以使用test()方法,将我们的电话号码和正则表达式传递给它来验证电话号码:```javascriptif (phonePattern.test(phoneNumber)) {console.log("Valid phone number");} else {console.log("Invalid phone number");}```3. 验证日期最后,我们将探讨如何验证日期。
js的replaceall 正则表达式

js的replaceall 正则表达式使用JavaScript的replaceAll正则表达式在JavaScript中,我们经常需要对字符串进行替换操作,例如将某个字符串中的特定字符或模式替换为其他字符或字符串。
在这种情况下,我们可以使用JavaScript的replaceAll()方法来实现。
该方法可以接受一个正则表达式作为参数,用于匹配要替换的字符或模式,并将其替换为指定的字符或字符串。
让我们来看一下replaceAll()方法的语法:str.replaceAll(regexp, newSubStr)其中,str是要进行替换操作的字符串,regexp是一个正则表达式,用于匹配要替换的字符或模式,newSubStr是用于替换的新字符或字符串。
接下来,让我们通过一些例子来说明如何使用replaceAll()方法。
例子1:将字符串中的所有空格替换为下划线```let str = "Hello World! This is a test.";let newStr = str.replaceAll(/\s/g, "_");console.log(newStr);// Output: "Hello_World!_This_is_a_test."```在这个例子中,我们使用正则表达式/\s/g来匹配字符串中的所有空格。
其中,\s表示空白字符,g表示全局匹配。
然后,我们将空格替换为下划线,并将结果赋值给newStr变量。
最后,我们打印出newStr的值,结果为"Hello_World!_This_is_a_test."。
例子2:将字符串中的所有数字替换为空字符```let str = "The number is 12345.";let newStr = str.replaceAll(/\d/g, "");console.log(newStr);// Output: "The number is ."```在这个例子中,我们使用正则表达式/\d/g来匹配字符串中的所有数字。
js常用正则表达式语法大全

js常用正则表达式语法大全正则表达式是一种强大而灵活的文本匹配工具,在JavaScript中广泛应用于字符串操作、表单验证、搜索和替换等场景。
掌握正则表达式的语法对于JavaScript开发者来说是至关重要的。
本文将介绍JavaScript中常用的正则表达式语法。
1. 基本语法1.1 字面量表示法var regex =/pattern/;1.2 构造函数表示法var regex =new RegExp("pattern");2. 元字符元字符是正则表达式中具有特殊含义的字符。
2.1 普通字符普通字符匹配其字面值,例如:var regex =/abc/;2.2 元字符•.:匹配任意字符(除了换行符)。
•^:匹配字符串的开始。
•$:匹配字符串的结束。
•*:匹配前一个字符0次或多次。
•+:匹配前一个字符1次或多次。
•?:匹配前一个字符0次或1次。
•|:或,匹配两个任一之一。
•( ):分组,将括号内的内容视为一个整体。
3. 字符类字符类用于匹配一个字符的集合。
•[abc]:匹配字符a、b或c中的任意一个。
•[^abc]:匹配除了a、b、c之外的任意字符。
•[a-z]:匹配任意小写字母。
•[A-Z]:匹配任意大写字母。
•[0-9]:匹配任意数字。
4. 预定义字符类预定义字符类是一些常用的字符类的缩写。
•\d:匹配任意数字,相当于[0-9]。
•\D:匹配任意非数字字符,相当于[^0-9]。
•\w:匹配任意单词字符(字母、数字、下划线),相当于[a-zA-Z0-9_]。
•\W:匹配任意非单词字符,相当于[^a-zA-Z0-9_]。
•\s:匹配任意空白字符(空格、制表符、换行符等)。
•\S:匹配任意非空白字符。
5. 量词量词用于指定匹配的次数。
•*:匹配前一个字符0次或多次。
•+:匹配前一个字符1次或多次。
•?:匹配前一个字符0次或1次。
•{n}:匹配前一个字符n次。
•{n,}:匹配前一个字符至少n次。
js 正则的方法

js 正则的方法JavaScript 中的正则表达式(RegExp)是一种强大的工具,用于在字符串中执行复杂的搜索和替换操作。
以下是一些常用的JavaScript 正则表达式方法:1.test(): 这个方法检查一个字符串是否匹配某个模式。
它会返回一个布尔值,如果字符串中存在匹配的文本,则返回true,否则返回false。
javascriptlet regex = /hello/;console.log(regex.test('hello world')); // 输出: trueconsole.log(regex.test('goodbye world')); // 输出: false2.exec(): 这个方法在一个字符串中执行正则表达式搜索,并返回一个数组。
如果没有找到匹配的文本,则返回null。
javascriptlet regex = /hello/;let result = regex.exec('hello world');console.log(result); // 输出: ["hello", index: 0, input: "helloworld", groups: undefined]3.match(): 这个方法在一个字符串中执行正则表达式搜索,并返回一个数组。
如果没有找到匹配的文本,则返回null。
与exec()方法不同,match()方法只能用于全局搜索模式(g 标志)。
javascriptlet regex = /hello/g;let result = 'hello world hello everyone'.match(regex);console.log(result); // 输出: ["hello", "hello"]4.replace(): 这个方法在一个字符串中查找与正则表达式模式匹配的文本,并用替换文本替换它。
js常用的正则表达式

js常用的正则表达式前言JavaScript中的正则表达式被广泛用于字符串的匹配和替换,可以让代码更加优雅和高效。
本文将介绍JS中常用的正则表达式及其用法,希望能对初学者有所帮助。
一、基本语法正则表达式由字面值和特殊字符两种类型组成。
字母、数字、空格等都表示字面值,而特殊符号则表示特定含义,例如/d代表数字,/s代表空格等。
正则表达式用斜杠“/”将其包裹起来。
二、常用正则表达式1. 匹配IP地址/^(\d{1,3}\.){3}\d{1,3}$/使用说明: \d表明是数字,{1,3}表明可以是一个到三个数字,\.表示点,^表示字符串开始,$表示字符串结束。
2. 匹配邮箱/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/使用说明: \w表示字母数字下划线,[-+.]表示这些特殊字符中的一个,*表示出现零次或多次。
3. 匹配电话号码/^[1][3,4,5,7,8][0-9]{9}$/使用说明: [1]表示以1开头,[3,4,5,7,8]表示第二个数字只能是这些中的一个,[0-9]{9}表示后面必须跟九个数字。
4. 匹配URL地址/^(http|https):\/\/[a-zA-Z0-9]+[\.a-zA-Z0-9_-]*[a-zA-Z0-9]+(\/\S*)?$/使用说明: (http|https)表示http或https,\/\/表示两个斜杠,[a-zA-Z0-9]表示字母数字任意一个,+表示一个或多个,[\.a-zA-Z0-9_-]*表示出现零次或多次,\/表示斜杠,\S表示任意一个非空白字符。
5. 匹配HTML标签/<\/?[^>]+>/gi使用说明: \?表示出现零次或一次,[^>]表示不是大于号的字符,+表示一个或多个,/i使匹配忽略大小写,/g表示全局匹配。
6. 匹配中文字符/[\u4e00-\u9fa5]/使用说明: [\u4e00-\u9fa5]表示从\u4e00到\u9fa5这个区间的所有字符。
JS正则表达式语法大全(非常详细)

JS正则表达式语法⼤全(⾮常详细)正则表达式是⼀种通⽤的⼯具,在 Script、、Java、、等⼏乎所有的编程语⾔中都能使⽤;但是,不同编程语⾔对正则表达式语法的⽀持不尽相同,有的编程语⾔⽀持所有的语法,有的仅⽀持⼀个⼦集。
本节讲到的正则表达式语法适⽤于 JavaScript。
正则表达式的语法体现在字符模式上。
字符模式是⼀组特殊格式的字符串,它由⼀系列特殊字符和普通字符构成,其中每个特殊字符都包含⼀定的语义和功能。
描述字符根据正则表达式语法规则,⼤部分字符仅能够描述⾃⾝,这些字符被称为普通字符,如所有的字母、数字等。
元字符就是拥有特动功能的特殊字符,⼤部分需要加反斜杠进⾏标识,以便于普通字符进⾏区别,⽽少数元字符,需要加反斜杠,以便转译为普通字符使⽤。
JavaScript 正则表达式⽀持的元字符如表所⽰。
元字符元字符描述.查找单个字符,除了换⾏和⾏结束符\w查找单词字符\W查找⾮单词字符\d查找数字\D查找⾮数字字符\s查找空⽩字符\S查找⾮空⽩字符\b匹配单词边界\B匹配⾮单词边界\0查找 NUL字符\n查找换⾏符\f查找换页符\r查找回车符\t查找制表符\v查找垂直制表符\xxx查找以⼋进制数 xxxx 规定的字符\xdd查找以⼗六进制数 dd 规定的字符\uxxxx查找以⼗六进制 xxxx规定的 Unicode 字符表⽰字符的⽅法有多种,除了可以直接使⽤字符本⾝外,还可以使⽤ ASCII 编码或者 Unicode 编码来表⽰。
⽰例1下⾯使⽤ ASCII 编码定义正则表达式直接量。
1. var r = /\x61/;2. var s = "JavaScript";3. var a = s.match(s);由于字母 a 的 ASCII 编码为 97,被转换为⼗六进制数值后为 61,因此如果要匹配字符 a,就应该在前⾯添加“\x”前缀,以提⽰它为 ASCII 编码。
⽰例2除了⼗六进制外,还可以直接使⽤⼋进制数值表⽰字符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精通 JS正则表达式 (精通?标题党 )正则表达式可以:•测试字符串的某个模式。
例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。
这称为数据有效性验证•替换文本。
可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字•根据模式匹配从字符串中提取一个子字符串。
可以用来在文本或输入字段中查找特定文字正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。
该模式描述在查找文字主体时待匹配的一个或多个字符串。
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
创建正则表达式Js代码1.var re = new RegExp();//RegExp是一个对象,和Aarray一样2.//但这样没有任何效果,需要将正则表达式的内容作为字符串传递进去3.re =new RegExp("a");//最简单的正则表达式,将匹配字母a4.re=new RegExp("a","i");//第二个参数,表示匹配时不分大小写RegExp构造函数第一个参数为正则表达式的文本内容,而第一个参数则为可选项标志.标志可以组合使用•g (全文查找)•i (忽略大小写)•m (多行查找)Js代码1.var re = new RegExp("a","gi");//匹配所有的a或A正则表达式还有另一种正则表达式字面量的声明方式Js代码1.var re = /a/gi;和正则表达式相关的方法和属性正则表达式对象的方法•test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。
如果存在则返回 true,否则就返回 false。
•exec,用正则表达式模式在字符串中运行查找,并返回包<scripttype="text/javascript"src="/javascripts/tinymce/themes/advanced/langs /zh.js"></script><script type="text/javascript"src="/javascripts/tinymce/plugins/javaeye/langs /zh.js"></script>含该查找结果的一个数组。
•compile,把正则表达式编译为内部格式,从而执行得更快。
正则表达式对象的属性•source,返回正则表达式模式的文本的复本。
只读。
•lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。
•$1...$9,返回九个在模式匹配期间找到的、最近保存的部分。
只读。
•input ($_),返回执行规范表述查找的字符串。
只读。
•lastMatch ($&),返回任何正则表达式搜索过程中的最后匹配的字符。
只读。
•lastParen ($+),如果有的话,返回任何正则表达式查找过程中最后括的子匹配。
只读。
•leftContext ($`),返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。
只读。
•rightContext ($'),返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符。
只读。
String对象一些和正则表达式相关的方法•match,找到一个或多个正则表达式的匹配。
•replace,替换与正则表达式匹配的子串。
•search,检索与正则表达式相匹配的值。
•split,把字符串分割为字符串数组。
测试正则表达式是如何工作的!Js代码1.//test方法,测试字符串,符合模式时返回true,否则返回false2.var re = /he/;//最简单的正则表达式,将匹配he这个单词3.var str = "he";4.alert(re.test(str));//true5.str = "we";6.alert(re.test(str));//false7.str = "HE";8.alert(re.test(str));//false,大写,如果要大小写都匹配可以指定i标志(i是ignoreCase或case-insensitive的表示)9.re = /he/i;10.alert(re.test(str));//true11.str = "Certainly!He loves her!";12.alert(re.test(str));//true,只要包含he(HE)就符合,如果要只是he或HE,不能有其它字符,则可使用^和$13.re = /^he/i;//脱字符(^)代表字符开始位置14.alert(re.test(str));//false,因为he不在str最开始15.str = "He is a good boy!";16.alert(re.test(str));//true,He是字符开始位置,还需要使用$17.re = /^he$/i;//$表示字符结束位置18.alert(re.test(str));//false19.str = "He";20.alert(re.test(str));//true21.//当然,这样不能发现正则表达式有多强大,因为我们完全可以在上面的例子中使用==或indexOf22.re = /\s/;// \s匹配任何空白字符,包括空格、制表符、换页符等等23.str= "user Name";//用户名包含空格24.alert(re.test(str));//true25.str = "user Name";//用户名包含制表符26.alert(re.test(str));//true27.re=/^[a-z]/i;//[]匹配指定范围内的任意字符,这里将匹配英文字母,不区分大小写28.str="variableName";//变量名必须以字母开头29.alert(re.test(str));//true30.str="123abc";31.alert(re.test(str));//false当然,仅仅知道了字符串是否匹配模式还不够,我们还需要知道哪些字符匹配了模式Js代码1.var osVersion = "Ubuntu 8";//其中的8表示系统主版本号2.var re = /^[a-z]+\s+\d+$/i; //+号表示字符至少要出现1次,\s表示空白字符,\d表示一个数字3.alert(re.test(osVersion));//true,但我们想知道主版本号4.//另一个方法exec,返回一个数组,数组的第一个元素为完整的匹配内容5.re=/^[a-z]+\s+\d+$/i;6.arr = re.exec(osVersion);7.alert(arr[0]);//将osVersion完整输出,因为整个字符串刚好匹配re8.//我只需要取出数字9.re=/\d+/;10.var arr = re.exec(osVersion);11.alert(arr[0]);//8更复杂的用法,使用子匹配Js代码1.//exec返回的数组第1到n元素中包含的是匹配中出现的任意一个子匹配2.re=/^[a-z]+\s+(\d+)$/i;//用()来创建子匹配3.arr =re.exec(osVersion);4.alert(arr[0]);//整个osVersion,也就是正则表达式的完整匹配5.alert(arr[1]);//8,第一个子匹配,事实也可以这样取出主版本号6.alert(arr.length);//27.osVersion = "Ubuntu 8.10";//取出主版本号和次版本号8.re = /^[a-z]+\s+(\d+)\.(\d+)$/i;//.是正则表达式元字符之一,若要用它的字面意义须转义9.arr = re.exec(osVersion);10.alert(arr[0]);//完整的osVersion11.alert(arr[1]);//812.alert(arr[2]);//10注意,当字符串不匹配re时,exec方法将返回nullString对象的一些和正则表达式有关的方法Js代码1.//replace方法,用于替换字符串2.var str ="some money";3.alert(str.replace("some","much"));//much money4.//replace的第一个参数可以为正则表达式5.var re = /\s/;//空白字符6.alert(str.replace(re,"%"));//some%money7.//在不知道字符串中有多少空白字符时,正则表达式极为方便8.str ="some some \tsome\t\f";9.re = /\s+/;10.alert(str.replace(re,"#"));//但这样只会将第一次出现的一堆空白字符替换掉11.//因为一个正则表达式只能进行一次匹配,\s+匹配了第一个空格后就退出了12.re = /\s+/g;//g,全局标志,将使正则表达式匹配整个字符串13.alert(str.replace(re,"@"));//some@some@some@14.//另一个与之相似的是split15.var str = "a-bd-c";16.var arr = str.split("-");//返回["a","bd","c"]17.//如果str是用户输入的,他可能输入a-bd-c也可能输入a bd c或a_bd_c,但不会是abdc(这样就说他输错了)18.str = "a_db-c";//用户以他喜欢的方式加分隔符s19.re=/[^a-z]/i;//前面我们说^表示字符开始,但在[]里它表示一个负字符集20.//匹配任何不在指定范围内的任意字符,这里将匹配除字母处的所有字符21.arr = str.split(re);//仍返回["a","bd","c"];22.//在字符串中查找时我们常用indexOf,与之对应用于正则查找的方法是search23.str = "My age is 18.Golden age!";//年龄不是一定的,我们用indexOf不能查找它的位置24.re = /\d+/;25.alert(str.search(re));//返回查找到的字符串开始下标1026.//注意,因为查找本身就是出现第一次就立即返回,所以无需在search时使用g标志27.//下面的代码虽然不出错,但g标志是多余的28.re=/\d+/g;29.alert(str.search(re));//仍然是10注意,当search方法没有找到匹配时,将返回-1类似于exec方法,String对象的match方法也用于将字符串与正则表达式进行匹配并返回结果数组Js代码1.var str = "My name is CJ.Hello everyone!";2.var re = /[A-Z]/;//匹配所有大写字母3.var arr = str.match(re);//返回数组4.alert(arr);//数组中只会包含一个M,因为我们没有使用全局匹配5.re = /[A-Z]/g;6.arr = str.match(re);7.alert(arr);//M,C,J,H8.//从字符串中抽取单词9.re = /\b[a-z]*\b/gi;//\b表示单词边界10.str = "one two three four";11.alert(str.match(re));//one,two,three,fourRegExp对象实例的一些属性Js代码1.var re = /[a-z]/i;2.alert(re.source);//将[a-z]字符串输出3.//请注意,直接alert(re)会将正则表达式连同前向斜线与标志输出,这是re.toString方法定义的每个RegExp对象的实例具有lastIndex属性,它是被查找字符串中下一次成功匹配的开始位置,默认值是-1。