開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、7章(正規表現によるパターンマッチング)、7.17(演習問題)22の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3 from unittest import TestCase, main class MyTestCase(TestCase): def setUp(self): pass def tearDown(self): pass def test(self): import re reg = re.compile( r''' ^(Alice|Bob|Carol)\s+ (eats|pets|throws)\s+ (apples|cats|baseballs)\.$''', re.VERBOSE | re.IGNORECASE) for s in ['Bob pets cats.', 'Carol throws baseballs.', 'Alice throws Apples.', 'BOB EATS CATS.']: self.assertTrue(reg.search(s)) for s in ['RoboCop eats appples.', 'ALICE THROWS FOOTBALLS.', 'Carol eats 7 cats.']: self.assertFalse(reg.search(s)) if __name__ == '__main__': main()
入出力結果(cmd(コマンドプロンプト)、Terminal、Bash, Jupyter(IPython))
C:\Users\...>py sample22.py -v test (__main__.MyTestCase) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK C:\Users\...>
0 コメント:
コメントを投稿