这篇笔记可以在大致5分钟内学习/复习到最基础的正则表达式
我在网站http://www.runoob.com/regexp/regexp-tutorial.html中学习,精精精简笔记如下:
(1)之前系统中常用的?和*:?代表匹配单个字符,*代表匹配多个字符
(2)[0-9]代表一个数字,[0-9]+代表多个数字
(3)+、*、?、{0,1}:匹配前面的子表达式
+:1+次,相当于{1,}
*:0+次,相当于{0,}
?:0或1次,相当于{0,1}
例子:匹配一个邮箱(要求,4~16位大小写字母或数字,@,1~3位大小写字母或数字,.com)
/[0-9a-zA-Z]{4,16}@[0-9a-zA-Z]{1,3}.com/
(4)定位符:^、$、\b、\B
^:匹配输入字符串开始的位置
$:匹配输入字符串结尾的位置
\b:匹配字边界(字与空格间的位置)
\B:匹配非字边界,与\b相对
例如正则表达式:
/ ^tab / table可以匹配,contab不可以匹配,comfortable也不可以匹配
/ tab$ / table不可以匹配,contab可以匹配,comfortable不可以匹配
/ \btab / table可以匹配,contabb不可以匹配,comfortable不可以匹配
/ \Btab / table不可以匹配,contab可以匹配,comfortable可以匹配
(5)用反斜杠 \ 来转义
在线正则表达式测试网站:http://tool.oschina.net/regex#