8.74. regexs マッチ¶
書式1: regexs(str,正規表現)
書式2: regexsw(str,正規表現)
指定した正規表現が、文字列 \(str\) の一部にでもマッチすれば真を返す。 \(str\) もしくは正規表現にマルチバイト文字を含み、 Shift_JISなど文字の出現順によっては意に沿わない検索結果となる場合はregexsw関数を使うこと。
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''id,str 61,caabaa 72,acabaaa 83, 94,cbcbcc 10''')
基本例
id=1,id=2
共に、正規表現で示された c
に続く aa
を含んでいるので真を返す。
1nm.mcal(c='regexs($s{str},"c.*aa")', a='rsl', i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# id,str,rsl 4# 1,caabaa,1 5# 2,acabaaa,1 6# 3,,0 7# 4,cbcbcc,0
先頭一致
正規表現 .*c
を$str$項目が含むのは id=3
以外全ての行である。
1nm.mcal(c='regexs($s{str},".*c")', a='rsl', i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容 3# id,str,rsl 4# 1,caabaa,1 5# 2,acabaaa,1 6# 3,,0 7# 4,cbcbcc,1