8.76. regexstr マッチ文字列¶
書式1: regexstr(str,正規表現)
書式2: regexstrw(str,正規表現)
指定した正規表現が最長マッチする文字列 \(str\) の部分文字列を返す。 \(str\) もしくは正規表現にマルチバイト文字を含み、 Shift_JISなど文字の出現順によっては意に沿わない検索結果となる場合はregexstrw関数を使うこと。
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''id,str 61,xcbbbayy 72,xxcbaay 83, 94,bacabbca 10''')
基本例
正規表現 c.*a
に最も長くマッチする部分文字列を得る。
id=2
では、 cba
もしくは cbaa
いずれの部分文字列にもマッチしたと考えることができるが、
本関数では、より長くマッチした文字列を返す。
1nm.mcal(c='regexstr($s{str},"c.*a")', a='rsl', i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# id,str,rsl 4# 1,xcbbbayy,cbbba 5# 2,xxcbaay,cbaa 6# 3,, 7# 4,bacabbca,cabbca