0
我在讀線從每一個被格式化這樣一個文件的精確匹配:搜索包含括號
array_name[0]
array_name[1]
我怎樣才能做到在這個字符串在python精確匹配?我已經試過這:
if re.match(line, "array_name[0]")
但似乎不脫離re
模塊服用份括號([0],[1]等)考慮
我在讀線從每一個被格式化這樣一個文件的精確匹配:搜索包含括號
array_name[0]
array_name[1]
我怎樣才能做到在這個字符串在python精確匹配?我已經試過這:
if re.match(line, "array_name[0]")
但似乎不脫離re
模塊服用份括號([0],[1]等)考慮
re.escape
所有的時間,以匹配是一個有用的工具,用於自動轉義正則表達式引擎認爲特殊的字符。從文檔:
re.escape(pattern)
逃亡中的所有字符圖案,除了ASCII 字母和數字。如果要匹配任意可能具有正則表達式元字符的任意 字符串,這非常有用。
In [1]: re.escape("array_name[0]")
Out[1]: 'array_name\\[0\\]'
而且,你已經扭轉了您的參數的順序。你需要你的模式是第一位的,其次是要匹配的文本:
re.match(re.escape("array_name[0]"), line)
例子:
In [2]: re.match(re.escape("array_name[0]"), 'array_name[0] in a line')
Out[2]: <_sre.SRE_Match object; span=(0, 13), match='array_name[0]'>
如果你找一個字符串,不要使用正則表達式。 –