獲取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 推薦使用第二種方式,這種方...