Skip to content

Instantly share code, notes, and snippets.

@bluele
Created October 20, 2012 16:21
Show Gist options
  • Save bluele/3923809 to your computer and use it in GitHub Desktop.
Save bluele/3923809 to your computer and use it in GitHub Desktop.
正規表現のパターン
#-*- coding:utf-8 -*-
__author__ = 'junk'
import unittest
import re
re_hiragana = re.compile(ur"^[ぁ-ゞ]$")
re_kana = re.compile(ur"^[ァ-ヾ]$")
re_kanji = re.compile(ur'^[一-龠]$')
re_number = re.compile(ur'^[-+]?(([1-9]\d+|\d)(?:\.\d+)?)$')
class TestRePattern(unittest.TestCase):
def test_hiragana(self):
self.assertNotEqual(
re_hiragana.match(u'あ'),
None)
self.assertEqual(
re_hiragana.match(u'パ'),
None)
def test_kana(self):
self.assertNotEqual(
re_kana.match(u'ェ'),
None)
self.assertNotEqual(
re_kana.match(u'ァ'),
None)
self.assertEqual(
re_kana.match(u'あ'),
None)
def test_kanji(self):
self.assertNotEqual(
re_kanji.match(u'漢'),
None)
self.assertNotEqual(
re_kanji.match(u'字'),
None)
def test_number(self):
self.assertNotEqual(
re_number.match("+100"),
None)
self.assertNotEqual(
re_number.match("-0.9"),
None)
self.assertNotEqual(
re_number.match("0"),
None)
self.assertEqual(
re_number.match(".1"),
None)
self.assertEqual(
re_number.match("0001"),
None)
self.assertEqual(
re_number.match("01001.3333"),
None)
self.assertEqual(
re_number.match("100.100.100"),
None)
self.assertEqual(
re_number.match("100."),
None)
if __name__ == "__main__":
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment