LoginSignup
0
0

More than 3 years have passed since last update.

Pythonの正規表現で全角ダブルクォーテーションを扱うメモ

Last updated at Posted at 2019-11-21

概要

  • 正規表現で全角ダブルクォーテーションを扱うのにはまった
  • 結論は全角のダブルクォーテーションは文字コード上2つ存在しているので、それぞれを指定する

目的

  • 全角ダブルクォーテーションで囲まれた範囲の文字列を抜き出したい
例) 彼は “Hello World!” と言った

から

Hello World!

を抜き出す

正規表現

下記を参考に構築

正規表現:括弧の中身だけをマッチする表現

re.search(r"(?<=\“).*?(?=\”)", sentence)

留意

当初pythonの全角半角変換パッケージであるjaconvを使って半角のダブルクォーテーションに統一しようとしたが、それはうまくいかなかった

jaconv.normalizeは以下のように全角ダブルクォーテーションを取り扱うためである

'”'=> '"'
'“' => '``'

jaconv 0.2.4 -PyPI

まとめ

ダブルクォーテーションは見た目に全角か半角か、またどちらの文字コードのなのか分かりづらいので気を付けましょう。

全角ダブルクォーテーションは悪い文明!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0