国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 丁青县| 浙江省| 鄂托克前旗| 巴青县| 南郑县| 长兴县| 紫阳县| 上栗县| 临夏县| 兴山县| 吴忠市| 高雄市| 乌拉特中旗| 阳曲县| 自治县| 黄陵县| 固始县| 德州市| 林甸县| 碌曲县| 镇巴县| 乌拉特后旗| 社会| 定西市| 逊克县| 宜春市| 大足县| 丹凤县| 城口县| 三门峡市| 元阳县| 榆中县| 宝丰县| 武汉市| 开鲁县| 桑日县| 家居| 新和县| 遵化市| 铁力市| 密云县|