"." |
匹配除換行符以外的任何字符 |
re.findall('.','abcbcd') |
['a', 'b', 'c', 'b', 'c', 'd'] |
"^" |
匹配字符串的開(kāi)頭 |
re.findall('^a','abcbcd') |
['a'] |
"$" |
匹配字符串末尾或字符串末尾換行符之前 |
re.findall('d$','abcbcd') |
['d'] |
"*" |
匹配前一個(gè)re的0個(gè)或多個(gè)(貪婪的)重復(fù)扮叨。貪婪意味著它將盡可能多的重復(fù)匹配 |
re.findall('b*','abcbcd') |
['', 'b', '', 'b', '', '', ''] |
"+" |
匹配前面的1次或多次(貪婪的)重復(fù) |
re.findall('bc+','abcbcd') |
['bc', 'bc'] |
"?" |
匹配前面re的0或1(貪婪) |
re.findall('bc?','abcbcd') |
['bc', 'bc'] |
*?,+?,?? |
前三個(gè)特殊字符的非貪婪版本 |
re.findall('b*?','abcbcd') re.findall('bc+?','abcbcd') re.findall('bc??','abcbcd') |
['', '', 'b', '', '', 'b', '', '', ''] ['bc', 'bc'] ['b', 'b'] |
{m,n} |
從m到n的匹配重復(fù)前面的re |
re.findall('bc{0,1}','abcbcd') |
['bc', 'bc'] |
{m,n}? |
上面的非貪婪版本 |
re.findall('bc{0,1}?','abcbcd') |
['b', 'b'] |
"\" |
要么轉(zhuǎn)義特殊字符,要么發(fā)出特殊序列的信號(hào) |
|
[] |
表示一組字符,作為第一個(gè)字符的“^”表示補(bǔ)集 |
re.findall('[bc]','abcbcd') re.findall('[^bc]','abcbcd') |
['b', 'c', 'b', 'c'] ['a', 'd'] |
"|" |
A B,創(chuàng)建一個(gè)與A或B匹配的RE |
re.findall('b |
c','abcbcd') |
['b', 'c', 'b', 'c'] |
(...) |
匹配括號(hào)內(nèi)的re疫铜。可以在以后的字符串中檢索或匹配內(nèi)容 |
re.findall('(bc)','abcbcd') |
['bc', 'bc'] |
(?aiLmsux) |
設(shè)置RE的A双谆、I壳咕、L、M顽馋、S谓厘、U或X標(biāo)志(見(jiàn)下文) |
|
(?:...) |
常規(guī)括號(hào)的非分組版本 |
re.findall('(?:bc)','abcbcd') |
['bc', 'bc'] |
(?P<name>...) |
組匹配的子字符串可以通過(guò)名稱訪問(wèn) |
re.findall('(?P<bc>...)','abcbcd') |
['abc', 'bcd'] |
(?P=name) |
與前面名為name的組匹配的文本匹配 |
|
(?#...) |
注釋;忽略 |
re.findall('..(?#bc)','abcbcd') |
['ab', 'cb', 'cd'] |
(?=...) |
匹配如果…匹配下一個(gè)寸谜,但不使用字符串 |
re.findall('.(?=.)','abcbcd') |
['a', 'b', 'c', 'b', 'c'] |
(?!...) |
匹配如果…不匹配下一個(gè) |
res = re.findall('.(?!.)','abcbcd') |
['d'] |
(?<=...) |
如果前面有…(必須為固定長(zhǎng)度) |
re.findall('.(?<=bc)','abcbcd') |
['c', 'c'] |
(?<!...) |
如果前面沒(méi)有匹配…(必須為固定長(zhǎng)度) |
re.findall('.(?<!bc)','abcbcd') |
['a', 'b', 'b', 'd'] |
(?(id/name)yes|no) |
匹配是模式如果ID/名稱匹配的組竟稳,則為(可選)否模式,否則為 |
|
\number |
匹配同一號(hào)碼組的內(nèi)容 |
|
\A |
僅在字符串開(kāi)頭匹配 |
re.findall('\A123','123123') |
['123'] |
\Z |
僅在字符串末尾匹配 |
re.findall('23\Z','123123') |
['23'] |
\b |
匹配空字符串熊痴,但僅在單詞的開(kāi)頭或結(jié)尾 |
|
\B |
匹配空字符串他爸,但不在單詞的開(kāi)頭或結(jié)尾 |
|
\d |
匹配任何十進(jìn)制數(shù)字;相當(dāng)于帶有ASCII標(biāo)志的集合[0-9]內(nèi)字節(jié)模式或字符串模式 |
re.findall('\d','123456') |
['1', '2', '3', '4', '5', '6'] |
\D |
匹配任何非數(shù)字字符果善;相當(dāng)于[^\d] |
re.findall('\D','a123b') |
['a', 'b'] |
\s |
atches任何空白字符诊笤;相當(dāng)于字節(jié)模式中的[\t\n\r\f\v]或帶ASCII標(biāo)志的字符串模式。在不帶ASCII標(biāo)志的字符串模式中巾陕,它將匹配整個(gè)Unicode空白字符范圍讨跟。 |
|
\S |
匹配任何非空白字符;相當(dāng)于[^\s] |
|
\w |
匹配任何字母數(shù)字字符鄙煤;相當(dāng)于字節(jié)模式中的[A-ZA-Z0-9 UUU]或帶ASCII標(biāo)志的字符串模式晾匠。在不帶ASCII標(biāo)志的字符串模式中,它將匹配Unicode字母數(shù)字字符(字母加數(shù)字加下劃線)的范圍梯刚。在區(qū)域設(shè)置中混聊,它將匹配集[0-9 UUU]加上定義的字符。作為當(dāng)前區(qū)域設(shè)置的字母乾巧。 |
|
\W |
匹配\w的補(bǔ)碼 |
|
\|匹配文字反斜杠 |
|