正则表达式

来源:互联网 发布:linux nginx conf配置 编辑:程序博客网 时间:2024/06/03 23:39

正则表达式的用处:

1.判断给定的字符串是否符合某一种规则(专门用于操作字符串)

    如:电话号码,电子邮箱,URL...

2.过滤筛选字符串,网络爬虫

3.替换文字,QQ聊天,图文混排


0>匹配

--------------------------------------------------------------------------------

(pattern)匹配pattern并获取这一匹配,所获取的匹配可以从产生的Matches集合得到


1>集合

--------------------------------------------------------------------------------

[xyz] 字符集合(x/yz)

[a-z] 字符范围

[a-zA-Z]

[^xyz] 负值字符集合 (任何字符,除了xyz)

[^a-z] 负值字符范围

[a-d][m-p]  并集(ad mp)


2>常用元字符

--------------------------------------------------------------------------------

.匹配除换行符以外的任意字符

\w 匹配字母或数字或下划线或汉字 [a-zA-Z_0-9]

\s匹配任意的空白符(空格、TAB\t、回车\r \n

\d 匹配数字 [0-9]

^匹配字符串的开始

$匹配字符串的结束

\b匹配单词的开始或结束


2>常用反义符

--------------------------------------------------------------------------------

\W          匹配任意不是字母,数字,下划线,汉字的字符[^\w]

\S匹配任意不是空白符的字符 [^\s]

\D 匹配任意非数字的字符[^0-9]



\B匹配不是单词开头或结束的位置

[^x]匹配除了x以外的任意字符

[^aeiou]匹配除了aeiou这几个字母以外的任意字符


4>常用限定符

--------------------------------------------------------------------------------

*重复零次或更多次

+重复一次或更多次

?重复零次或一次

{n} 重复n

{n,} 重复n次或更多次

{n,m} 重复nm,


5>贪婪和懒惰

--------------------------------------------------------------------------------

*?重复任意次,但尽可能少重复

*+重复1次或更多次,但尽可能少重复

??重复0次或1次,但尽可能少重复

{n,m}?      重复nm次,但尽可能少重复

{n,}?重复n次以上,但尽可能少重复

最后写了个正则表达式在iOS中使用的简单示例,地址:https://git.oschina.net/Ocean_iOS/iOS_regex

0 0