码迷,mamicode.com
首页 > 其他好文 > 详细

初步学习正则表达式

时间:2018-09-07 00:54:14      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:最大   重复   文件   单引号   换行   height   操作   center   通配符   

 

目录

 

分隔符

字符类和类型

重复

子表达式

子表达式计数

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

分支

匹配特殊字符

特殊字符含义


分隔符

  • 正则表达式必须包含在一对分隔符中。可以选择任何非字母,数字,"\" 或空格的字符作为分隔符。字符串的开始和结束必须有匹配的分隔符。
  • 最常用的分隔符是"/"。 如匹配"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正则表达式中,用于方括号里面的特殊字符
字符意义
\ 转义字符
^ 非,仅用在开始位置
- 用于指定字符范

初步学习正则表达式

标签:最大   重复   文件   单引号   换行   height   操作   center   通配符   

原文地址:https://www.cnblogs.com/woods1815/p/9602023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!