『lists.ruby-lang.org Mailing Lists』をPythonでやってみた
正規表現を試してみるちょっとしたプログラム
#正規表現を試してみるちょっとしたプログラム regx.py import re while 1: try: str = raw_input("str> ") except: break try: pat = raw_input("pat> ") except: break r = re.compile(pat) print re.findall(r, str, re.M)
実行して試してみる
str> foobar pat> ^fo+ ['foo']
str> abc012dbcd555 pat> \d+ ['012', '555']
str> foozboozer pat> f.*z ['foozbooz']
str> Mon Apr 18 22:08:04 JST 2007 pat> [0-9]+:[0-9]+:[0-9]+ ['22:08:04']
ちょっとしたプログラムおわり
対話モードで正規表現などを少しばかり試してみる
>>> import re >>> re.search("d","abcdef").start() 3 >>> re.search("d","abcdef").span() (3, 4) >>> re.search("d","abcdef").group() 'd' >>> re.search("d","aaaaaa").start() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'start'
特殊文字を使わないのであれば、こっちのほうが簡単。
>>> "abcdef".find("d") 3 >>> "aaaaaa".find("d") -1
こんなのもあったり
>>> "d" in "abcdef" True >>> "d" in "aaaaaa" False