元字符(正则表达式)

grep:最初是ED编辑器中的一条命令,用来显示特定文件中的内容,后来发展成一个独立的工具
egrep:表示“扩展的grep”
POSIX:可移植操作系统接口,是一系列的标准,确保了操作系统之间的可移植性
Perl:实际抽取与汇报语言
PCRE:兼容正则表达式的一套正则引擎


PHP中需要在正则表达式的前后加上定界符"/"
preg_match(正则表达式,被搜索的字符串[,保存匹配结果得数组])
匹配结果只有一个
preg_match_all():保存所有的匹配结果

一、元字符
1.行定位符
^:表示行的开始
$:表示行的结束
eg:    ^tm  表示以tm开头 
    tm$  表示以tm结尾
    tm   表示任意位置

2.单词分界符
\b:表示要查找的字串是一个完整的单词
\B:表示要查找的字串是不是一个完整单词,而是单词或字串的一部分
eg:    \btm\b 表示匹配的是单词tm  


3.字符类
[]:表示只要匹配字符出现在方括号内,即可表示匹配成功
一个方括号只能匹配一个字符
eg:    [tT][mM] 表示匹配tm的所有写法
POSIX风格的预定义字符类
[:digit:]   十进制数字集合,等同于[0123456789]
[[:alnum:]]  字母和数字集合,等同于[a-zA-Z0-9]
[[:alpha:]]  字母集合,等同于[a-zA-Z]
[[:upper:]]  大写字母集合,[A-Z]
[[:lower:]]  小写字母集合,[a-z]


4.选择字符
|:表示“或”
eg:    T|tm|M

5.连字符
-:表示字符的范围


6.排除字符
[^]:表示出现在括号内的字符为不匹配的字符


7.限定符
?:匹配前面的字符零次或一次
    colou?r ===>color,colour
+:匹配前面的字符一次或多次
    go+gle  ==> gogle,google,gooogle,gooo....ogle
*:匹配前面的字符零次或多次
    go*gle ==> ggle,google,gooo...ogle
{n}:匹配前面的字符N次
    go{3}gle   ==>gooogle
{n,}:匹配前面的字符最少N次
    go{2,}gle   ==>google,goo...ogle
{n,m}:匹配前面的字符最少n次,最多m次
    go{2,4}gle  ==>google,gooogle,goooogle

8.点号符号
.:表示除了换行符以外的任意一个字符
eg:    ^s.t$   ===>sit  set  ...
eg:    匹配一个单词,第一个字母为r,第三个字母为s,最后一个字母为t
    ^r.s.*t$

9.转义字符
\
eg:    匹配类似于127.0.0.1格式的IP地址
    [0-9]{1,3}(\.[0-9]{1,3}){3}

预定义字符集
\d:任意一个十进制数字
\D:任意一个非十进制数字
\w:任意一个单词字符,相当于[a-zA-Z0-9]
\W:任意一个非单词字符

10.括号字符
(1)改变限定符的作用范围
(2)分组

11.模式修饰符
i:忽略大小写
m:多文本模式
s:单文本模式
x:忽略空白字符
既可以写在正则表达式的外面,也可以写在表达式内。
eg:  /tm/i     (?i)tm(?-i)    (?i:tm)
 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉姆罗布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值