半小时精通正则表达式-精华版

(编辑:jimmy 日期: 2024/9/24 浏览:2)

虽然以前发不过不少的正则表达式教程,但这篇文章还是不错的,无废话都是比较实际的,前提就是需要你之前懂点正则表达式,要不还是先看些基本的正则表达式教程比较好。

-------------------------------------------------------------------------
^ 和 $ 分别用来匹配字符串的开始和结束 
-------------------------------------------------------------------------

例1 ^<b> 开头 一定要有"<b>"字符串; 
例2 </b>$ 结尾 一定要有"</b>" 的字符串; 
例3 ^abc$ 以abc开头和以abc结尾的字符串,实际上是只有abc匹配 
例4 abc 没符号就 匹配包含abc的字符串


-------------------------------------------------------------------------
* + 和 "a", "ab", "abb", "abbbbbbbbbbbbbbbbb", 无限...) 
{1,} = + 例2 ab{1,} 匹配以a开头后面B出现1-N次( "ab", "abb", "abbbbbbbbbbbbbbbbb", 无限...)
{0,1}= "a", "ab")
   例4 a{0,1}b+$ 匹配以0个或者1个a 再加上一个b结尾的字符串. ( "b", "ab")

注(2种写法)
ab{0,}也可以写成 ab*
ab{1,}也可以写成 ab+
ab{0,1}也可以写成 ab"abb"); 
例6 ab{2,} 要求a后面一定要有两个或者两个以上b 如("abb", "abbbb", 等.); 
例7 ab{3,5} 要求a后面可以有2-5个b("abbb", "abbbb", or "abbbbb"). 

(3)后面跟多个字符用()
例8 a(bc)* 匹配 a 后面跟0个或者一个"bc"; 当然你也可以写成"a(bc){0,}"
例9 a(bc){1,5} 匹配1个到5个 "bc." 

-------------------------------------------------------------------------
│  相当于OR 用来表示 1个或者 多个或者
-------------------------------------------------------------------------

例1 A│B 匹配含有"A" 或者 "B" 的 字符串; 
例2 (A│B)C 匹配含有 "AC" 或者 "BC"的字符串; 
例3 (A│B)*C 匹配含有(包括0-1个)a或b,后面跟一个c 

-------------------------------------------------------------------------
.  可以代表所有的单一字符
-------------------------------------------------------------------------
 . 不包括"\n"空格 如果有空格就用 但空格加一字符[\n.] 多个空格+1字符 [\n\n\n\n\n\n.]

例1 a.[0-9] 一个a 加一个字符 再加一个0到9的数字 
例2 ^.{3}$ 三个任意字符结尾 

-------------------------------------------------------------------------
'[ab]' 中括号括住的内容只匹配一个单一的字符 
-------------------------------------------------------------------------
 
例1 [ab]   匹配单个的 a 或者 b ( 和 "a│b" 一样); 
例2 [a-d]   匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); 一般我们都用[a-zA-Z]来指定字符为一个大小写英文
例3 ^[a-zA-Z]  匹配以大小写字母开头的字符串 
例4 [0-9]%  匹配含有 形如 x% 的字符串 
例5 ,[a-zA-Z0-9]$ 匹配以逗号再加一个数字或字母结尾的字符串
例6 %[^a-zA-Z]% 匹配含有两个百分号里面有一个(非)字母的字符串. 

你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 

要点1:^[内容] ^在[]外开头,就表示以内容开头
要点2:[^内容] ^在[]里开头,就表示排除里面的内容(^非的意思)
要点3: 匹配含有这些字符的字符串. 在中括号里[*\+"/"和"^"字符之外的所有字符 
[^"'] //除了双引号(")和单引号(')之外的所有字符 

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?