読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Rubyチュートリアル: 正規表現 をPythonでやってみた

Python

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
感想

PythonよりRubyのほうが正規表現つかいやすそうでいいなぁ(´・ω・`)