6.18 1つのパターンでAND, OR, NOTを表現する

  • ORパターン
# /ALPHA/, /BETA/ どちらか一方にマッチする
#/ALPHA/ || /BETA/ と同等
/ALPHA|BETA/;
/(?:ALPHA)|(?:BETA)/;    # このように書くと、必ず両方評価される
  • ANDパターン
# /ALPHA/, /BETA/ の両方にマッチしたら真を返す
#/ALPHA/ && /BETA/ と同等
/^(?=.*ALPHA)BETA/s;

/ALPHA.*BETA|BETA.*ALPHA/s;
  • NOTのパターン
# $var !~ /PAT/ と同等
/^(?:(?!PAT).)*$/s;