Pythonでエスケープ処理をするメソッド


エスケープクラスを生成して、エスケープしたい時にこれから生成するメソッドを叩けば良いというものを紹介します。


Python でエスケープ処理をする時は import re のモジュールによって正規表現が可能になります。


クラスにエスケープ処理のメソッドとエスケープ処理を外す処理のメソッドを書いていきます。


<escape.py>

 
# --*-- coding:utf8 --*--
"""
Escape 処理
Unescape 処理
re -> 正規表現する際のモジュール
"""
import re


class EscapeHandler():


    def escape(self, s, quoted=u'\'"\\', escape=u'\\'):

        return re.sub(
            u'[%s]' % re.escape(quoted),
            lambda mo:escape + mo.group(),s
        )



    def unescape(self, s, quoted=u'\'"\\', escape=u'\\'):

        return re.sub(
            ur'%s([%s]' % (re.escape(escape), re.escape(quoted)),
            ur'\1',s
        )



こちらのメソッドにわたってきた引数をエスケープ処理を行っています。


1, selfはクラスを生成した際には必ず定義する必要があります。
2, 引数s, quoted, escapeを作って、渡ってきたデータを格納して処理します。


 lambdaは匿名関数オブジェクトを定義しています。

関数定義を簡便にできます。

以上の紹介です。