|
阅读:2472回复:0
前端 正则表达式入门
正则表达式入门
一、字符组 1.字符组 [ ]允许匹配一组可能出现的字符 例:请你使用字符组匹配Java和java。 [Jj]ava 2.匹配所有的数字[0123456789]或[0-9] “-”表示区间; 例:匹配所有的数字,大小写字母 [0-9 a-z A-Z] 3.匹配特殊字符 要匹配“-”号,需要对“-”号进行转义,即\-。 在正则中使用 \ 就可以进行对特殊符号进行转义,对“-”进行转义就可以表示为\-,即 \- 代表了“-”号本身。 4.非集[^] 匹配不在集合中的任何字符 二、快捷方式 1.匹配所有的数字:\d 2.匹配所有的字符:\w (包含所有的数字,大小写字母) 3.匹配空白字符:\s(空格、tab、换行等) 4.匹配单词的边界:\b 5.匹配所有的非数字:\D 6.匹配所有非字符:\W 7.匹配所有非空白字符:\S 快捷方式取反将小写改为大写,其他快捷方式也遵循这个规则。 8.开始和结束 正则表达式中^指定的是一个字符串的开始; 正则表达式中$指定的是一个字符串的结束; 9.任意字符 . 字符代表匹配任何单个字符,它只能出现在方括号外。 注:.字符直邮一个不能匹配的字符,也就是换行符(\n)。 10.可选字符 使用?符号指定一个字符,字符组或者其他基本单元可选,这意味着正则表达式引擎会期望该字符出现零或一次。 三、匹配多个数字 1.匹配9个数字:\d{9} 在一个字符组后加上{N}表示在它之前的字符组可以出现N次。 2.重复区间: 语法:{M,N},M是下界,N是上界。 例:\d{3,4} 既可以匹配3个数字又可以匹配4个数字,不过当有4个数字时,优先匹配的是4个数字,这是正则表达式默认是贪婪模式,即尽可能地匹配更多字符,若是使用非贪婪模式,在正则表达式后加上?号。 3.开闭区间 字符组的重复次数没有边界 表达式:\d{1, } 闭区间不写即可表示匹配一个或无数个 +号等价于{1, }; (1到无数个) *号等价于{0, }; (0到无数个) 4.匹配所有的手机号码 ①必须是11位数字 ②第一位数字必须以1开头,第二位可以是[3,4,5,7,8],后面9个数是[0-9]中的任意一个数字 ^|[34578]\d{9} 5.匹配网站地址 匹配以http开头,以/结尾的所有数据 http.*/$ |
|