当前位置: 移动技术网 > IT编程>开发语言>PHP > 初步学习正则表达式

初步学习正则表达式

2018年09月07日  | 移动技术网IT编程  | 我要评论

 

目录

 

分隔符

字符类和类型

重复

子表达式

子表达式计数

定位到字符串的开始或末尾

分支

匹配特殊字符

特殊字符含义


分隔符

  • 正则表达式必须包含在一对分隔符中。可以选择任何非字母,数字,"\" 或空格的字符作为分隔符。字符串的开始和结束必须有匹配的分隔符。
  • 最常用的分隔符是"/"。 如匹配"shop": /shop/
  • 如果要在正则表达式中匹配字符"/",需要使用"\"来转义"/"。如匹配"http://": /http:\/\//

字符类和类型

  • 可以用字符"."作为匹配除换行符(\n)之外任何字符的通配符。如:/.at/ 可以匹配“cat”,“sat”,“mat”等,通常这种通配符的匹配适用于操作系统的文件名匹配。
  • /[a-z]at/ 表示第一个字符是a到z之间的字符,后面匹配at;任何[ ]中的内容都是一个字符类,也就是说方括号内的表达式只匹配一个字符。
  • /[a-za-z]/ 表示匹配大小写的任何字符。
  • /[^a-z]/ 用来匹配任何不在a和z之间的字符。当 ^ 符号在 [ ] 中时,表示否的意思。

重复

  • "*"表示这个模式可以重复出现0次或多次。
  • "+"表示这个模式可以重复出现1次或多次。
  •  "?" 表示这个模式可以重复出现1次或0次。
  • /[[:alnum:]]+/ 表示至少有一个字母字符。

子表达式

  • 通常,可以将一个表达式分隔为几个子表达式,如:/(very)*large/ 表示very可以重复出现0次或多次,可以匹配“large”,“very large”,“very very large”等。

子表达式计数

  • { } 中使用数字表达式来指定内容允许重复的次数。
  • /(very){3}/ 表示very重复3次
  • /(very){1,3}/ 表示very重复1~3次
  • /(very){2, }/ 表示最少要重复2次

定位到字符串的开始或末尾

  • ^ 用于正则表达式的开始,表示子字符串必须出现在被搜索字符串的开始处。
  • $ 用于正则表达式的末尾,表示子字符串必须出现在被搜索字符串的末尾。
  • /^bob/ 表示要在开始处匹配 bob - /com$/ 表示要以com结束

分支

  •  | 在正则表达式中表示模式选择。
  • /com|edu|net/ 表示匹配com 或edu 或net

匹配特殊字符

  • 如果要匹配一个特殊字符,如“.”,“{”,“$”,就必须在它们前面加一个反斜杠“\”。
  • 如果要匹配一个反斜杠“\”,则必须用两个反斜杠“\\”来表示。
  • 在php中,必须使用单引号来引用正则表达式模式。使用双引号引用的正则表达式将带来一些不必要的复杂性。

特殊字符含义

在pcre正则表达式中,用于方括号外面的特殊字符
字符意义字符意义
\ 转义字符 ) 子模式的结束
^ 在字符串开始匹配 * 重复0次或更多次
$ 在字符串末尾匹配 + 重复一次或更多次
. 匹配除换行符\n之外的字符 { 最小/最大量记号的开始
| 选择分支的开始(或) } 最小/最大量记号的结束
( 子模式的开始 ? 标记一个子模式为可选的
在pcre正则表达式中,用于方括号里面的特殊字符
字符意义
\ 转义字符
^ 非,仅用在开始位置
- 用于指定字符范

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网