先介绍几种常用的方法:
1、使用MatchString函数或Match函数
regexp.MatchString(pattern string, s string) pattern为正则表达式,s为需要校验的字符串
regexp.Match(pattern string, b []byte) pattern为正则表达式,s为需要校验的字符串
它们的作用都是匹配,区别在于参数为字符串和切片
实例如下:
2、使用 Compile函数或MustCompile函数
它们的区别是Compile返回两个参数 Regexp,error类型,而MustCompile只返回 Regexp类型
它们的作用是将正则表达式进行编译,返回优化的 Regexp 结构体,该结构体有需多方法。
实例如下:
3、查找正则匹配字串( 注:函数名包含string的所传参数为string 其他的均为[]byte 带All是所有)
查找正则匹配的字符串位置( 注:函数名包含string的所传参数为string 其他的均为[]byte 带All是所有)
4、替换
正则替换
按原文替换
函数处理替换源字串
5、Regexp结构体中一些常用的方法
$reg="/src[=\"\'\s]+([^\"\']+)[\"\']/i"$str=""
if(preg_match_all($reg,$str,$m)){
for($i=0$i<count ( $m [1] )$i++){
echo $m[1][$i]
}
}
src表示以src开头,[^>]*表示不含有‘>’字符的子串
[^/].表示任意一个非'/'字符后面跟一个任意字符(个人觉得这里写的不对,‘.'前要加\转义才表示’.')
(?:jpg|bmp|gif)表示后面要跟上jpg或bmp或gif,?:表示“非获取匹配”(这里非必须)
(?:\"|\')表示后面跟双引号或单引号,\符号是转义字符。
合起来的意思就是:选取以src开头,到jpg或bmp或gif并后跟引号结尾,中间不能有'>'字符的字符串。
参考:http://zh.wikipedia.org/zh-cn/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F