タグ

pythonとregexpに関するishideoのブックマーク (3)

  • ishideoのブックマーク / 2009年3月9日 - はてなブックマーク

    2009年03月09日00:30 カテゴリLightweight LanguagesTips regexp - ^$でなくて\A\zを使おう まずは回答から。 正規表現で「制御文字以外」のチェック - ockeghem(徳丸浩)の日記 文字エンコーディングの妥当姓 制御文字(\x00〜\x1f, \x7f)のチェック 文字列長のチェック このうち後ろ二つを正規表現として書くにはどうすればいいかを考えていました。 こういう時には、「全文字がOKならOK」と考えるのではなく、「一文字でもNGならNG」と考えると楽になります。それは「スペースと非制御文字以外」なのですから、/[^ \S]/が求めていた正規表現で、=~ではなく!~が使うべき演算子ということになります。全角スペースもOKにしたければ、/[^ \x{3000}\S]/。[追記参照] [Run via Codepad] #!perl -

  • 正規表現メモ

    \x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni

  • すべての漢字を取り出す正規表現 - totonのブログ

    http://www.unixuser.org/~euske/doc/python/sample.py.html # 日語トークンを切り出すための正規表現。 JP_TOKEN = re.compile(u"[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+") http://www.ascii.co.jp/pb/ascii/archive/aftercare/1999.html [亜-煕]はJIS漢字を検出するときに使う正規表現になります。 文中で触れている「一太郎 Lite2」の正規表現はUnicode仕様なので,すべての漢字を検出するには,[一-龠]を使用してください(龠は音読みで「ヤク」,訓読みで「ふえ」,Unicodeでは「9FA0」にあたります)。 追記 ※「すべての漢字を取り出す正規表現」については、id:toton:20051105 に記事を追加しました。

    すべての漢字を取り出す正規表現 - totonのブログ
  • 1