書式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