1.簡介python
正則表達式(簡稱regex)是一些有字符和特殊符號組成的字符串,它們描述了模式的重複或者表述多個字符,因而正則表達式能按照某種模式匹配一系列有類似特徵的字符串。換句話說,它們能匹配多個字符串…一種只能匹配一個字符串的正則表達式模式是很乏味而且毫無做用的。正則表達式
python經過標準庫中的re模塊來支持正則表達式。code
2.經常使用的匹配元字符(特殊符號和字符)字符串
表示擇一匹配的管道符號(|),是的正則表達式可以匹配多個字符串而不單單是一個字符串。 at | home變量
點號(.)匹配除了換行符\n之外的任何單個字符 好比:f.o (匹配在字母f和o之間的任意一個字符:fao,f9o) ; .. (任意兩個字符)鍵盤
若是要匹配字符串的開始位置,就必須使用脫字符(^)或者特殊字符\A,後者主要用於那些沒有脫字符的鍵盤。美圓符號($)或者\Z將用於匹配字符串的末尾位置 好比:^From(任何以From做爲其實的字符串); /bin/tcsh$(任何以/bin/tcsh做爲結尾的字符串)co
特殊字符\b和\B能夠用來匹配字符邊界。\b用於匹配一個單詞的邊界,這意味這若是一個模式必須位於單詞的起始部分,就無論該單詞前面是否有任何字符。一樣,\B將匹配出如今一個單詞中間的模式(即,不是單詞邊界) 好比:\bthe(任何以the開始的字符串) \bthe\b(僅僅匹配單詞the) \Bthe(任何包含但並不以the做爲其實的字符串)字符
[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個字符)。