正则表达式
正则表达式学起来不难 关键是如何记忆一些基本的东西和运用。
本人整理一下,详细的说明查看正则表达式手册。
重要的:1.字符匹配符 2.限定符 3.子表达式 4.定位符
--字符匹配符(匹配什么样字符)
--元字符 \d \D \w \W .
--字符簇
[0-9a-zA-Z] [^0-9]
--限定符 (匹配多少个) 例:有三个数字 有三个字母
? 匹配前面的子表达式零次或一次
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
{n} 匹配确定的 n 次
{n,} 至少匹配n 次
{n,m} 最少匹配 n 次且最多匹配 m 次
--子表达式、捕获、反向引用\n(重复一样匹配) 例子 1221 2323
--转义符 (特殊字符要\转义)
--定位符 (应用在^ $要匹配的字符串跟匹配要求的数量一样)
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
\b 匹配一个单词边界
\B 匹配非单词边界
--选择匹配符 或|
--特殊用法
--(?:pattern) 匹配 pattern 但不获取匹配结果
例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
--(?=pattern)正向预查
例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。
--(?!pattern)负向预查 类似正向预查
--贪婪匹配 (?)
g:全局匹配 i:忽略大小写
js 使用正则表达式
创建reg对象
隐示创建
var reg=/正则表达式/匹配模式;
显示创建
var reg=new RegExp(“正则表达式”,”匹配模式”);
RegExp对象方法
compile 重新指定正则匹配。
test(str) 检查字符串是否包含指定模式的字符串,返回布尔值
exec(str) 返回指定模式的字符串
在全局模式下
while(res = reg.exec(str))
支持正则表达式的 String 对象的方法
search(reg) :返回指定模式字符串出现的位置 (失败 返回-1)
match(reg) :以数组形式返回指定模式的字符串
replace :将字符串指定模式的字符串替换成其它字符串
split :将字符串以指定模式分割,返回数组
php 正则常用函数 查php手册
preg_match_all pre_match preg_split pre_replace