国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python正則表達(dá)式中的括號(hào)匹配問(wèn)題

2020-02-23 06:18:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題:

m = re.findall('[0-9]*4[0-9]*', '[4]')
可以匹配到4.
m = re.findall('([0-9])*4([0-9])*', '[4]')
匹配不到4.
這是為什么呢?PS,這個(gè)是一個(gè)簡(jiǎn)化的說(shuō)明,我要用的正則比這個(gè)復(fù)雜,所以要用到(),表示一個(gè)序列的匹配。
補(bǔ)充一點(diǎn),我放在notepad++中用的時(shí)候,兩種寫(xiě)法都能匹配出來(lái),不知道為什么python中就不行了。

答案:

python的正則中用()會(huì)進(jìn)行匹配,所以返回結(jié)果是['',''],就是兩個(gè)()中的匹配。要想達(dá)到原來(lái)的匹配效果,就是把4匹配出來(lái),有兩種解決方法:

1.最外層加個(gè)大括號(hào),變成:m = re.findall('(([0-9])*4([0-9])*)', '[4]'),返回結(jié)果的第一個(gè)元素就是匹配結(jié)果了。
2.去除()的匹配結(jié)果返回,在括號(hào)前面加入?:,變成m = re.findall('(?:/d)*4(?:/d)*', '[4]'),返回結(jié)果就是要匹配的結(jié)果了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 扎囊县| 晋中市| 澄城县| 泸溪县| 武强县| 兴城市| 西丰县| 金山区| 辽中县| 错那县| 扬州市| 峨眉山市| 乌苏市| 河东区| 镇江市| 南昌市| 九龙县| 南开区| 马公市| 宁陕县| 阿坝县| 东阿县| 宝山区| 长海县| 武山县| 明溪县| 广西| 额尔古纳市| 金堂县| 北碚区| 兴和县| 治县。| 博客| 明水县| 安义县| 青田县| 尼玛县| 乌鲁木齐县| 班戈县| 新津县| 子洲县|