正则表达式
正则表达式的web开发中的常见场合
1: 邮箱验证
2:用户名验证
3:替换字符串某一部分
4:信息采集,用来分析有效的代码段
.....
.....
正则表达式 : 规则表达式
"一种有规律的字符串的描述"
正则表达式是一门独立的知识,同样的一段描述,比如,对于email的匹配表达式,
学习正则表达式
1: 在js里,如果写一个正则表达式,"/正则表达式/" (不含双引号)
2: 在js里,用正则表达来验证字符串是否满足,可以用 reg.test(String); // 验证
3: js,用正则表达式的.exec函数,用来查找匹配的选项,并把查到的值取出. // 查找
4: 字符串应用正则,
string.match(reg),正则查找字符串
string.search(reg),正则查找位置
string.replace(reg,'newstr');正则替换
String.split(reg); 正则拆分
正则表达式3句话
1:要找什么字符?
2:从哪儿找?
3:找几个?
1.要找什么字符?
1.1 字面值,"hi",就是找"hi"
1.2 字符集合来表示,[abcd],指匹配abcd中的任意一个
1.3 用范围来表示字符 [0-9],[a-z] [A-Z]
1.4 字符"簇" (就是系统为常用的字符集合创建的一个简写)
例: \d ----> [0-9],\w--->[0-9a-zA-Z_],\s ------->[ \t\v\f\r\n](空白符)
1.5 补集的形式来表示字符集合.
例:[0-9]===>[^0-9],[abcef]===>[^abcef]
对于字符簇,只需把字母大写,即可表示补集
[\d] ==== >[\D],[\w]===>[\W],[\s]==>[\S](非空白字符)
1.6 " ",代表"任意字符,不包括换行符"
2:从哪儿找,找到哪儿?
2.1 \b,====>'单词边界'
\bhi ===>从单词的边界开始匹配,hi
2.2 \B ===> 单词的非边界,把单词中间的某一部分取出来
把中间含有 hi的单词取出,即hi不能在两端
2.3 ^ caret,从"字符串的起始位置开始匹配",
2.4 $,匹配到字符串的结束位置
3: 找多少
* : 0--->N ===> 等价 {0,}
+: [1,N] ====>等价 {1,}
?: [0,1] ====>等价 {0,1}
a{n} : 字符a准确的出现n次
a{n,}: 字符a至少出现次
a{n,m},n-->m次
个数修饰符默认是贪婪模式,尽量多找
"个数修饰符后面加?",则为非贪婪模式,尽量少的找.