Pythonの正規表現でエスケープされ、私はこのようになりますのPython 3でいくつかのコードがあります。確保文字が
import re
searchChar = string1[0]
re.finditer(searchChar, a_string)
をだから、アイデアは、文字列内の文字のすべてのオカレンスのインデックスを見つけることです。
string1
は何でもかまいません。string1 = 'cat'
やstring1 = 'dog'
のような正常な場合は、すべて問題ありません。
しかし、正規表現の制御文字で始まる場合は問題があります。たとえば、string1 = *hello
の場合、searchChar
は'*'
であり、'*'
は無効な正規表現ですので、findIter
はエラーを返します。
私のシナリオでは、私は常に文字リテラルを探しています。したがって、必要がある場合にのみsearchChar
がエスケープされるようにする方法がありますか(つまり'\*'
)?
正規表現のように見えます。単純な文字列検索はどうですか? –
['re.escape'](https://docs.python.org/3/library/re.html#re.escape)を使用 – niemmi
文字列中の文字の出現を見つけるのに' re'は必要ありませんが、 'string.find'のようなもので十分です。 https://docs.python.org/2/library/string.html#string.find –