正则表达式复习--正则语法

来源:互联网 发布:lego ev3 编程 编辑:程序博客网 时间:2024/06/05 03:19
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body></body><script type="text/javascript">/********* * 正则表达式是一个描述字符模式的对象 * 可以使用一个RegExp()构造函数来创建RegExp对象 * 正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符 如:  * var expression = / pattern / flags; * 其中模式(pattern)部分可以使任何简单或者复杂的正则表达式如字符类,限制符,分组等,每个正则表达式可以带有一个或者多个标志(flags),用以表明正则表达式的行为 * 本课程值讨论简单模式 * 正则表达式的匹配模式支持的三个标志 *  g:表示全局模式(global),即模式将被应用于所有字符串而非发现一个而停止 *  i:表示不区分大小写(ease-insensitive)模式,在确定匹配想时忽略模式与字符串的大小写 *  m:表示多行(multiline)模式,即在确定匹配项时忽略模式与字符串的大小写 * 元字符:( [ { \ ^ $ | ) ? * + . ] }使用时必须转移 * 特殊字符 *  \t  /\t/    制表符 *  \n  /\n/    换行符 *  \r  /\r/    回车符 *  \f  /\f/    换页符 *  \b  /\b/    与回退字符 *  \v  /\v/    垂直制表符 *  \0  /\0/    空字符 *********/// 预定义类//  .   [^\n\r] 除了换行和回车之外的任意字符// \d   [0-9]   数字字符// \D   [^0-9]  非数字字符// \s   [ \t\n\x0B\f\r] 空白字符// \S   [^ \t\n\x0B\f\r]    非空白字符// \w   [a-zA-Z_0-9]    单词字符(所有的字母)// \W   [^a-zA-Z_0-9]   非单词字符console.log(111);console.log(/\d/.test("3"))//trueconsole.log(/\d/.test("a"))//falseconsole.log(/\D/.test("b"))//trueconsole.log(/\w/.test("c"))//trueconsole.log(/\W/.test("正"))//trueconsole.log(/\s/.test(" "))//trueconsole.log(/\S/.test(" "))//falseconsole.log(/\S/.test("则"))//trueconsole.log(/./.test("aa"))//trueconsole.log(/./.test("  "))//true// 简单类// 原则上正则的一个字符对应一个字符,我们可以用[]把它们括起来,让[]这个整体对应一个字符。如console.log(222);console.log(/ruby/.test("ruby"));//trueconsole.log(/[abc]/.test("a"));//true// 负向类// 也是在那个括号里做文章,前面加个元字符进行取反,表示匹配不能为括号里面的字符。console.log(333);console.log(/[^abc]/.test("a"));//falseconsole.log(/[^abc]/.test("gg"));//true// 范围类// 有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线。console.log(444);console.log(/[a-f]/.test("c"));//trueconsole.log(/[a-f]/.test("l"));//falseconsole.log(/[a-z]/.test("m"));//trueconsole.log(/[^7-9]/.test("6"));//true// 组合类// 用中括号匹配不同类型的单个字符。console.log(555);console.log(/[a-m1-5\n]/.test("b"))//trueconsole.log(/[a-m1-5\n]/.test("2"))//true// ^    开头  注意不能紧跟于左中括号的后面// $   结尾// ?        出现零次或一次// *        出现零次或多次(任意次)// +        出现一次或多次(至少一次)// {n}      对应零次或者n次// {n,m}    至少出现n次但不超过m次// {n,} 至少出现n次(+的升级版)console.log(666);console.log(/[\u4e00-\u9fa5]{5}/.test("正则表达式"))//trueconsole.log(/[\u4e00-\u9fa5]{4}/.test("正则表达式"))//trueconsole.log(/^[\u4e00-\u9fa5]+$/.test("正则表达式"))//trueconsole.log(/^[\u4e00-\u9fa5]+$/.test("正则表达式&*@@"))//falseconsole.log(/\d{6}/.test("123456"))//trueconsole.log(/[ruby]{2}/.test("rr"))//trueconsole.log(/[ruby]{2}/.test("ru"))//trueconsole.log(/[ruby]{2}/.test("ry"))//true</script></html>
原创粉丝点击