スポンサードリンク



こんにちは。sinyです。

この記事ではpythonの正規表現を使ったテクニックに関するまとめ記事です。
※随時更新します。

正規表現にマッチする文字を除去する。

ある文字列から特殊文字を削除する場合に正規表現を使うと簡単に処理することができます。

  • ignores = re.compile("[.,-/\"'>()&;:]") →排除対象の文字列を正規表現として定義
  • ignores.match(w):  →変数wの文字列が正規表現にマッチするかチェック
  • words = [w for w in words if w] →特殊文字を排除した後は空白「""」が含まれているため
    空白ではない部分だけをwords変数に格納して空白を除去しています。

 

実行結果
  • 変換前: i run,in the (short) - term; 0, 19, 1.1> Tokyo 's / loss: might 2.3 be . we like The food & U
  • 変換後1: ['i', '', 'r', 'u', 'n', '', 'i', 'n', '', 't', 'h', 'e', '', '', 's', 'h', 'o', 'r', 't', '', '', '', '', 't', 'e', 'r', 'm', '', '', '0', '', '', '1', '9', '', '', '1', '', '1', '', '', 'T', 'o', 'k', 'y', 'o', '', '', 's', '', '', '', 'l', 'o', 's', 's', '', '', 'm', 'i', 'g', 'h', 't', '', '2', '', '3', '', 'b', 'e', '', '', '', 'w', 'e', '', 'l', 'i', 'k', 'e', '', 'T', 'h', 'e', '', 'f', 'o', 'o', 'd', '', '', '', 'U', '']
  • 変換後2: ['i', 'r', 'u', 'n', 'i', 'n', 't', 'h', 'e', 's', 'h', 'o', 'r', 't', 't', 'e', 'r', 'm', '0', '1', '9', '1', '1', 'T', 'o', 'k', 'y', 'o', 's', 'l', 'o', 's', 's', 'm', 'i', 'g', 'h', 't', '2', '3', 'b', 'e', 'w', 'e', 'l', 'i', 'k', 'e', 'T', 'h', 'e', 'f', 'o', 'o', 'd', 'U']
  • 重複排除後 ['u', 't', 'T', 'b', 'l', 'f', 'm', 'k', '1', 'w', 'r', 'h', 'i', '0', 'y', 'd', '9', 'n', 's', 'U', 'g', '3', '2', 'e', 'o']

 

正規表現で文字列を分割したい場合

re.splitを使います。

 

。(?!」は、「」の後に「」が続かない時に条件が成立してsplitする。

?! ...)は、次に続く文字列が...にマッチしないとTrueとなる。

おすすめの記事