[英]Ensuring character is escaped with Python Regular expressions
我在Python 3中有一些看起來像這樣的代碼:
import re
searchChar = string1[0]
re.finditer(searchChar, a_string)
因此,該想法是找到字符串中所有出現的字符的索引。
問題是string1
可以是任何東西,因此,如果它是正常的東西,例如string1 = 'cat'
或string1 = 'dog'
,那么一切都很好。
但是,如果它以正則表達式控制字符開頭,那么您將遇到問題。 例如,如果您具有string1 = *hello
,則searchChar
為'*'
,由於'*'
是無效的正則表達式,因此findIter
將返回錯誤。
在我的場景中,我一直在尋找字符文字。 那么有沒有一種方法可以確保當且僅當需要時才對searchChar
進行轉義(即'\\*'
)?
進行純字符串搜索。 如果要計算子字符串的出現次數,則str
實例為此提供了count
方法。
>>> '*|*|'.count('*')
2
Niemmi的評論是我需要的答案。 看起來re.escape是答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.