書式1: regexm(,正規表現)
書式2: regexmw(,正規表現)
指定した正規表現が、文字列全体にマッチすれば真を返す。
もしくは正規表現にマルチバイト文字を含み、 Shift_JISなど文字の出現順によっては意に沿わない検索結果となる場合はregexmw関数を使うこと。
id=1,id=2共に、正規表現で示されたcに続くaaを含んでいるが、 id=2ではマッチする範囲が部分的(2文字目のcから最後まで)であるために偽となっている。
$ more dat1.csv id,str 1,caabaa 2,acabaaa 3, 4,bbcbcc $ mcal c='regexm($s{str},"c.*aa")' a=rsl i=dat1.csv o=rsl1.csv #END# kgcal a=rsl c=regexm($s{str},"c.*aa") i=dat1.csv o=rsl1.csv $ more rsl1.csv id,str,rsl 1,caabaa,1 2,acabaaa,0 3,,0 4,bbcbcc,0
正規表現.*cで項目の全体がカバーされるのはid=4の行のみである。
$ mcal c='regexm($s{str},".*c")' a=rsl i=dat1.csv o=rsl2.csv #END# kgcal a=rsl c=regexm($s{str},".*c") i=dat1.csv o=rsl2.csv $ more rsl2.csv id,str,rsl 1,caabaa,0 2,acabaaa,0 3,,0 4,bbcbcc,1
正規表現^$でid=3の空文字にマッチする。
$ mcal c='regexm($s{str},"^$")' a=rsl i=dat1.csv o=rsl3.csv #END# kgcal a=rsl c=regexm($s{str},"^$") i=dat1.csv o=rsl3.csv $ more rsl3.csv id,str,rsl 1,caabaa,0 2,acabaaa,0 3,,1 4,bbcbcc,0