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