久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python2.7 - python 正則前瞻 后瞻 無法匹配到正確的內(nèi)容

瀏覽:146日期:2022-08-02 13:34:49

問題描述

使用 python 來測試正則前瞻 后瞻,但是怎么都沒有像官網(wǎng)說的那樣。

題目

解析 html onclick=''里面的字符串,返回調(diào)用的函數(shù)名和參數(shù)list

表達(dá)式

根據(jù)文檔寫的表達(dá)式: https://docs.python.org/2/lib...(?<=s*javascripts*:s*)([w]+)((.+))(?=s*;.*)

代碼

def parse_js_func(txt): ''' 從 onclick 的值中解析各種綁定時間 返回 函數(shù)名 和 參數(shù),只支持單個函數(shù)綁定的JS listener :param txt: :return: ''' func = None param = None if txt and 2 <= len(txt) <= 200:pattern = ’(?<=s*javascripts*:s*)([w]+)((.+))(?=s*;.*)’# pattern = ’(s*javascripts*:s*)?([w]+)((.+))(s*;.*)?’m = re.match(ur’’ + pattern, u’’ + txt, re.I | re.M)if m and m.lastindex >= 3: func = m.group(2) txt2 = m.group(3) if len(txt2.split(’,’)) > 1:param = [str(x).strip(’’'’) for x in txt2.split(’,’)] else:param = str(txt2).strip(’’'’) return func, param用例

onclick='javascript:func(’a’,1,2,3)' 返回 [’func’,[’a’,1,2,3]]

onclick='func(11111)'應(yīng)該返回 [’func’,11111]

問題解答

回答1:

你那個正則是你自己寫的吧? 向后查找要求要明確pattern的長度, 試下這個正則能不能滿足要求: (1+)(([’'w,]+)?)

'’: ?
標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 乌拉特后旗| 京山县| 莱芜市| 海城市| 南溪县| 留坝县| 垣曲县| 长乐市| 治县。| 白河县| 兴文县| 文成县| 沭阳县| 武邑县| 鸡泽县| 成安县| 寿光市| 邯郸县| 正镶白旗| 华池县| 光泽县| 宁河县| 马山县| 黔南| 齐河县| 岑溪市| 阳山县| 南郑县| 库尔勒市| 青州市| 北辰区| 卢龙县| 望江县| 丰城市| 西乌珠穆沁旗| 湾仔区| 鄯善县| 嵩明县| 雅安市| 衡山县| 保德县|