正则式

^ $

一、特殊符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束。

“^one”:表示所有以“one”开始的字符串(“one cat”,“one123”,·····);类似于:- (BOOL)hasPrefix:(NSString *)aString;

“a dog$”:表示所以以“a dog”结尾的字符串(“it is a dog”,·····); 类似于:- (BOOL)hasSuffix:(NSString *)aString;

“^apple$”:表示开始和结尾都是“apple”的字符串,这个是唯一的~;

“banana”:表示任何包含“banana”的字符串。

 

{} * + ?

二、用大括号括起来 {},表示一个重复的具体范围。

“ab{4}”:表示一个字符串有一个a跟着4个b(“abbbb”);

“ab{3,4}”:表示一个字符串有一个a跟着3到4个b(“abbb”,“abbbb”)。

“ab{1,}”:表示一个字符串有一个a跟着至少1个b(“ab”,“abb”,“abbb”,……);

'*'可以用{0,}表示,'+'可以用{1,}表示,'?”可以用{0,1}表示

 

| [] ^

三、'|'表示“或”操作。方括号'[ ]'表示在括号内的众多字符中选择字符。

“a|b”:表示一个字符串里有“a”或者“b”;

“(a|bcd)ef”:表示“aef”或”bcdef”;

“(a|b)*c”:表示一串“a”“b”混合的字符串后面跟一个“c”;

“[ab]”:表示一个字符串有一个“a”或“b”(相当于“a|b”);

“[a-d]”:表示一个字符串包含小写的“a”到“d”中的一个(相当于“a|b|c|d”或者“[abcd]”);

“^[a-zA-Z]”:表示一个以字母开头的字符串;

“[0-9]a”:表示“a”前有一位的数字;

“[a-zA-Z0-9]$”:表示一个字符串以一个字母或数字结束。

在方括号里用'^'表示不希望出现的字符,'^'应在方括号里的第一位。

“@[^a-zA-Z]@”表示两个“@”中不应该出现字母。

 

\d \D \w \W

四、常用特殊字符

“\d”匹配一个数字字符。等价于[0-9]。

“\D”匹配一个非数字字符。等价于[^0-9]。

“\w”匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。

“\W”匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

iOS中书写正则表达式,碰到转义字符,多加一个“\”。

 

?!

五、排除情况

"^[0-9a-z]{6,18}$" 匹配 6-18 位数字小写字母组合

"^(?!^[0-9]+$)[0-9a-z]{6,18}$" 匹配 6-18 位数字小写字母组合,但不能全是数字--也即至少含有一个小写字母

"^(?!^[a-z]+$)[0-9a-z]{6,18}$" 匹配 6-18 位数字小写字母组合,但不能全是小写字母--也即至少含有一个数字

"^(?!^[0-9]+$)(?!^[a-z]+$)[0-9a-z]{6,18}$" 匹配 6-18 位数字小写字母组合,但不能全是数字或全是小写字母--也即至少有一个数字同时至少有一个小写字母

posted @ 2021-01-16 12:50  ebamboo  阅读(216)  评论(0编辑  收藏  举报