今川館

都内勤務の地味OLです

続:文字列リテラルは連続させられる

http://d.hatena.ne.jp/imagawa_yakata/20091120/1258698626

↑これの続き。文字列リテラルを連続させて一つの文字列リテラルを作る場合、すべてリテラルで記述しなければならない。
変数を混ぜると構文エラーになる。

s = (
    r'^['
    r'abcXYZ'
    r']+$'
)
print s #=> ^[abcXYZ]+$

ss = r'abcXYZ' 
s = (
    r'^['
    ss
    r']+$'
)
#=> SyntaxError: invalid syntax

この場合、+演算子で文字列連結してやれば構文エラーは回避できる。

ss = r'abcXYZ' 
s = (
    r'^['+
    ss+
    r']+$'
)
print s #=> ^[abcXYZ]+$