我有一個python 2.7腳本,通常運行幾個小時,我現在試圖優化它。它有很多關於字符串的搜索,這代表了計算的重要部分。目前我正在使用re.search('stringToFind', haystack)
來查找更長字符串中的子字符串。我正在考慮重寫所有不包含正則表達式的表達式,並改用in
。幾乎所有被搜索的字符串都是普通字符串,即不包含正則表達式。在與研究python
我知道in
使用contains
方法來檢查子字符串,但我不知道re.search如何爲非re的字符串工作。 re.search如何工作?在字符串比較中使用substring而不是re.search會更有效嗎?
編輯:爲了澄清我可以給當前運行的代碼的示例:
if re.search('extern', variable):
# Do something...
可以通過以下方式更換:
if 'extern' in variable:
# Do something...
你是什麼意思'非重新串'?一個例子會更好。 –
你的計時測試哪種方法更快? – timgeb
我完全認爲'in'會更快。 –