簡體   English   中英

確保使用Python正則表達式對字符進行轉義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM