くだすれPython(超初心者用) その38

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
2018/07/15(日) 23:39:12.09ID:cDGgo13V
r1もr2もいっしょ。
r2は内部でr1と同じ事やってメソッド呼んでるだけ。
ソース見たら一目瞭然。
https://github.com/python/cpython/blob/master/Lib/re.py

jsはリテラルの場合はプログラムロード時にコンパイルされて、
コンストラクタ使った時は実行時にコンパイルされるからリテラルの方が速い。
2018/07/15(日) 23:46:56.69ID:cDGgo13V
r1とr2って言っちゃダメだな

R1とR2ってことね
-----R1-----
r1 = re.compile("12(.*?)56")
mat = r1.search(txt).group(1)

-----R2-----
r2 = "12(.*?)56"
mat = re.search(r2, txt).group(1)
2018/07/16(月) 06:30:22.35ID:XBIjWYki
>>591
> ということは、件のコードに効率には大きな違いはない、
そうだよ
1回しかやらないならね

> ひいてはどちらを使っても構わない、
> ということでいいの?
compileは>>545が書いてる通り
>> 同じパターンで繰り返し何度も検索する時に速度的に有利・・・
ってこと
2018/07/16(月) 11:41:43.52ID:80hpbb9v
正規表現リテラルは、実行する前に決まっている場合

一方、オブジェクトは、実行時に決まる場合にも使える
597596
垢版 |
2018/07/16(月) 11:45:24.46ID:80hpbb9v
Ruby のコーディング規則では、

正規表現リテラルは、Perl との互換性を保つ表記で、わかりにくいから、
常にオブジェクトの方を使え、って書いてあるものもある
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況