Python正規表示式獲取匹配的下標

2021-10-16 23:01:13 字數 1124 閱讀 2766

獲取python正規表示式匹配的下標。如:有乙個句子"one plus two equals to three",需要根據模板"x plus y equals to z"提取出變數"x"、"y"和"z"以及它們在句子中的位置(下標)。

要點:

**如下:

import re

defget_items_idx

(match_obj, with_words:

bool

=true)-

>

dict

:""" 獲取下標

parameters

----------

:param match_obj: 匹配之後的物件

:param with_words: bool (default=true), 是否需要返回對應的單詞(預設為true)

:return: dict of list. 返回的格式

"""ret =

dict()

ret[

"idx"]=

ret[

"words"]=

if match_obj:

for obj in match_obj:

item_num =

len(obj.groups())

for idx in

range(1

, item_num +1)

: ret[

"idx"])

if with_words:

ret[

"words"])

else

:print

("failed!"

)return ret

text =

"one plus two equals to three."

match_obj = re.finditer(r"(.*?) plus (.*?) equals to (.*)."

, text, re.m | re.i)

print

(get_items_idx(match_obj)

)

執行結果:

Python 正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 coding utf 8 ...

正規表示式匹配 python

coding utf 8 題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元 不包括空字元!而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ...

JS 正規表示式匹配獲取

表示轉義字元 表示乙個任意字元 表示字元個數 表示字元個數 表示開始與結束 表示非 d表示 1個數字 w 表示乙個字元 不包含中文 s 表示乙個空白字元 表示優先順序,提取組 表示或 方式一 var regobj new regexp d 方式二 var regobj d 推薦使用第二種方式,這種方...