開発環境
- 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 コメント:
コメントを投稿