微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

学习正则表达式

2016.12.22,星期四

一、定义

正则表达式: 用一些特殊的字符编写具有特殊规则的字符串

注意:

1,本身也是一个字符串,具有语法规则

2,具有特殊意义,是处理字符串用的

3,本身不能直接产生作用,必须需要搭配PHP函数使用

学习要点:

1,有哪些特殊字符

2,有什么语法规则

3,有哪些PHP函数


二、语法规则

定界符:正则表达式必备,是正则表达式的"家"

常用符号:/ # % | !

例:

“/正则表达式/”

"#正则表达式#"

"%正则表达式%"


1.原子:组成正则表达式的主要部分

1,普通字符:0-9 a-z A-Z 一个字符就代表了一个字符

例子:

/1/ -- "1"

/a/ -- "a"

/olizi/ -- 'olizi'

2,特殊字符: 需要加上转义字符来识别,本身具有特殊意义的符号,

例: "" 、''、 \、 *、+、.、?、{、[、(、)、|、^、$


3,非打印字符:特殊符号,在页面上产生了如换行、空格的实际影响但是在页面上没有显示的特殊字符。

附加:如果源代码里面出现了空格、回车、制表符等键盘上的特殊输入,使用这些非打印字符来识别。

换页 -- \f

换行 -- \n

回车 -- \r

空白字符(空格 制表 换页) -- \s

非空白字符(除了空格 制表 换页) -- \S

水平制表 -- \t

垂直制表 -- \v

控制符号 -- \cx 栗子:ctrl+x ctrl+c

4,通用字符:

任意一个10进制数 --- \d

任意一个非10进制数的字符 --- \D

空白字符(空格 制表 换页) -- \s

非空白字符(除了空格 制表 换页) -- \S

找任意的一个字母、数字、下划线 --- \w

找任意的一个非字母、非数字、非下划线 --- \W

5,自定义字符:

1,多个字符里面的任意一个 [多个字符]

[0-9] --- [0123456789]

[a-z] ---[abcdefghi..z]

[A-Z] ---[ABCDEFG..Z]

2,除去多个字符里面的任意一个 [^多个字符]

3,组团 (或者) :识别“抱团1” 或者 “抱团2”

/抱团1|抱团2/

4,连接符: - 表示从开始到结束的一个区间

[0-9] == [0123456789]

元字符:一些具有特殊意义的字符:

a,表示次数的字符:

预定义次数

0次或者1次:?

/a?/ aabc bc

1次或者多次:+

0次,1次或者多次:*

自定义次数:{至少,最多}

例子:

/[abcde]{3}/ == [abcde][abcde][abcde]

b,表示开头和结尾开头

以..开头 /^字符/ /\A字符/

以..结尾 /字符$/ /字符\Z/

c,边界符

边界内必须 \b

"/\bmy\b/":my -- "my name is"

边界外必须 \B

"/\Bis/":this -- "this is my name "

d,其它

任意一个字符 : .

例子: abc acc adc afc a.c

"/a.c/"

E,模式修正符:位置比较特殊位于定界符外面

a)忽略大小写:i

例子: "/a/i" -- a,A

b)忽略空白:x

例子:"/ab/x" --"a b"

原文地址:https://www.jb51.cc/regex/358697.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐