regexoption

正規表現の文法、文字エンコーディング、オプションを設定する。(バージョン4.78以降)

regexoption <option1> [<option2> ...]

解説

strmatch, strreplace, waitregex で使用する正規表現の文法、文字エンコーディング、オプションを設定する。

オプション option1 [option2 ...] には、以下の中から文法を1つ、エンコーディングを1つ、オプションを複数指定できる。
各設定のデフォルト値は、文法: SYNTAX_RUBY, エンコーディング: ENCODING_ASCII, オプション: OPTION_NONE となる。

種別 オプション オプション(省略形) 意味
文法 SYNTAX_DEFAULT - デフォルト(Ruby形式)
SYNTAX_ASIS ASIS 固定文字列検索
SYNTAX_POSIX_BASIC POSIX_BASIC POSIX基本正規表現
SYNTAX_POSIX_EXTENDED POSIX_EXTENDED POSIX拡張正規表現
SYNTAX_EMACS EMACS Emacs形式正規表現
SYNTAX_GREP GREP grep形式正規表現
SYNTAX_GNU_REGEX GNU_REGEX GNU Regex形式正規表現
SYNTAX_JAVA JAVA Java形式正規表現
SYNTAX_PERL PERL Perl形式
SYNTAX_PERL_NG PERL_NG Perl形式正規表現 + 名前付き捕獲式集合
SYNTAX_RUBY RUBY Ruby形式正規表現
エンコーディング ENCODING_ASCII ASCII エンコーディング設定を ASCII にする。
ENCODING_ISO_8859_1 ISO_8859_1 エンコーディング設定を ISO 8859-1 にする。
ENCODING_ISO_8859_2 ISO_8859_2 エンコーディング設定を ISO 8859-2 にする。
ENCODING_ISO_8859_3 ISO_8859_3 エンコーディング設定を ISO 8859-3 にする。
ENCODING_ISO_8859_4 ISO_8859_4 エンコーディング設定を ISO 8859-4 にする。
ENCODING_ISO_8859_5 ISO_8859_5 エンコーディング設定を ISO 8859-5 にする。
ENCODING_ISO_8859_6 ISO_8859_6 エンコーディング設定を ISO 8859-6 にする。
ENCODING_ISO_8859_7 ISO_8859_7 エンコーディング設定を ISO 8859-7 にする。
ENCODING_ISO_8859_8 ISO_8859_8 エンコーディング設定を ISO 8859-8 にする。
ENCODING_ISO_8859_9 ISO_8859_9 エンコーディング設定を ISO 8859-9 にする。
ENCODING_ISO_8859_10 ISO_8859_10 エンコーディング設定を ISO 8859-10 にする。
ENCODING_ISO_8859_11 ISO_8859_11 エンコーディング設定を ISO 8859-11 にする。
ENCODING_ISO_8859_13 ISO_8859_13 エンコーディング設定を ISO 8859-13 にする。
ENCODING_ISO_8859_14 ISO_8859_14 エンコーディング設定を ISO 8859-14 にする。
ENCODING_ISO_8859_15 ISO_8859_15 エンコーディング設定を ISO 8859-15 にする。
ENCODING_ISO_8859_16 ISO_8859_16 エンコーディング設定を ISO 8859-16 にする。
ENCODING_UTF8 UTF8 エンコーディング設定を UTF-8 にする。
ENCODING_UTF16_BE UTF16_BE エンコーディング設定を UTF-16 (Big Endian) にする。
ENCODING_UTF16_LE UTF16_LE エンコーディング設定を UTF-16 (Little Endian) にする。
ENCODING_UTF32_BE UTF32_BE エンコーディング設定を UTF-32 (Big Endian) にする。
ENCODING_UTF32_LE UTF32_LE エンコーディング設定を UTF-32 (Little Endian) にする。
ENCODING_EUC_JP EUC_JP エンコーディング設定を EUC-JP にする。
ENCODING_EUC_TW EUC_TW エンコーディング設定を EUC-TW にする。
ENCODING_EUC_KR EUC_KR エンコーディング設定を EUC-KR にする。
ENCODING_EUC_CN EUC_CN エンコーディング設定を EUC-CN にする。
ENCODING_SJIS SJIS エンコーディング設定を Shift_JIS にする。
ENCODING_KOI8_R KOI8_R エンコーディング設定を KOI8-R にする。
ENCODING_CP1251 CP1251 エンコーディング設定を CP1251 にする。
ENCODING_BIG5 BIG5 エンコーディング設定を Big5 にする。
ENCODING_GB18030 GB18030 エンコーディング設定を GB18030 にする。
オプション OPTION_NONE - 正規表現オプションが指定されていない状態にする。
OPTION_SINGLELINE SINGLELINE '^' → '\A', '$' → '\Z'
OPTION_MULTILINE MULTILINE '.'が改行にマッチする
OPTION_IGNORECASE IGNORECASE 大文字/小文字同一視
OPTION_EXTEND EXTEND パターン拡張形式
OPTION_FIND_LONGEST FIND_LONGEST 最長一致
OPTION_FIND_NOT_EMPTY FIND_NOT_EMPTY 空文字列にマッチしない
OPTION_NEGATE_SINGLELINE NEGATE_SINGLELINE OPTION_SINGLELINEを無効にする
OPTION_DONT_CAPTURE_GROUP DONT_CAPTURE_GROUP 名前付き捕獲式集合のみ捕獲
OPTION_CAPTURE_GROUP CAPTURE_GROUP 名前無し捕獲式集合も捕獲

string="文字データ"
pattern="データ"

strmatch string pattern
messagebox result "デフォルト"   ; result -> 0 (Not Match)

regexoption "SJIS"
strmatch string pattern
messagebox result "SJIS"   ; result -> 5 (Match)
string="Test (PaTTerN) String"
pattern="(pattern)"

regexoption "IGNORECASE"
strmatch string pattern
sprintf2 msg 'result=%d, matchstr="%s"' result matchstr
messagebox msg "IGNORECASE"          ; result=7, matchstr="PaTTerN"

regexoption "ASIS" "IGNORECASE"
strmatch string pattern
sprintf2 msg 'result=%d, matchstr="%s"' result matchstr
messagebox msg "IGNORECASE + ASIS"   ; result=6, matchstr="(PaTTerN)"

参照