簡析正則表達式的使用

本文首發自:喝醉的清茶 官方網址( http://blog.lovecathy.cn/arti...)以及微信公衆號「喝醉的清茶」 歡迎你們關注~

1、前言

看到正則表達式,通常第一眼的感受,就是一串亂七八糟的看不懂的字符,沒啥依據能夠判斷,看起來很懵逼。python

其實主要是因爲對正則不太瞭解,當了解正則以後,會發現正則其實就是一串由一些特殊字符組成的有意義的一串,可是可讀性比較差,同時不容易理解正則表達式

本文意圖在於你們能夠看懂正則表達式,以及會書寫基本的正則表達式。微信

2、什麼是正則表達式?

正則表達式是一種特殊的字符串模式,用於匹配一組字符串,就比如用模具作產品,而正則就是這個模具,定義一種規則去匹配符合規則的字符。spa

3、正則表達式基礎字符

用d能夠匹配一個數字,w能夠匹配一個字母或數字,.能夠匹配任意字符code

例子:blog

'12\d' 能夠匹配''129',可是無法匹配'12B'
'\d\d\d' 能夠匹配三個數字'000'
'\w\w\d' 能夠匹配前兩個能夠是字符或者數字,第三個要是數字 'ab2'

要匹配變長的字符,在正則表達式中,字符串

用*表示任意個字符(包括0個),get

用+表示至少一個字符,產品

用?表示0個或1個字符,it

用{n}表示n個字符,

用{n,m}表示n-m個字符:

例子:

\d{4}\s+\w{3,6}
\d{4} 匹配四個數字
\s+ 匹配至少一個空格
\w{3,6} 匹配3-8個數字或者字母

4、正則表達式進階

能夠用[]表示範圍

[0-9a-zA-Z\_]能夠匹配一個數字、字母或者下劃線;
[0-9a-zA-Z\_]+能夠匹配至少由一個數字、字母或者下劃線組成的字符串,好比'a100','0_Z','Py3000'等等;
[a-zA-Z\_][0-9a-zA-Z\_]*能夠匹配由字母或下劃線開頭,後接任意個由一個數字、字母或者下劃線組成的字符串,也就是Python合法的變量;
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精確地限制了變量的長度是1-20個字符(前面1個字符+後面最多19個字符)。
A|B能夠匹配A或B,因此(P|p)ython能夠匹配'Python'或者'python'。

^表示行的開頭,^d表示必須以數字開頭。

$表示行的結束,\d$表示必須以數字結束

特殊字符須要用 進行轉義

更多精彩內容,歡迎你們關注個人微信公衆號:喝醉的清茶

bVbb8HG?w=258&h=258

相關文章
相關標籤/搜索