正则的简单学习

正则表达式

正则表达式的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](非空白字符)

spacer.gif1.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



个数修饰符默认是贪婪模式,尽量多找

"个数修饰符后面加?",则为非贪婪模式, 尽量少的找.


你可能感兴趣的:(web开发,表达式,替换字符串,用户名,双引号)