mb_regex_set_options
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
mb_regex_set_options — マルチバイト正規表現関数のデフォルトオプションを取得または設定する
説明
options
で表されるオプションを、
マルチバイト対応の正規表現関数のデフォルトに設定します。
パラメータ
options
-
設定するオプション。文字列で設定し、各文字がオプションを表します。 モードを設定する際には、モード文字は最後に指定しなければなりません。 オプションは複数指定できますが、モードはひとつしか指定できません。
Regex のオプション オプション 意味 変更履歴 i 曖昧なマッチをオンにする x 拡張パターン形式を有効にする m '.'
が改行にマッチするs '^'
->'\A'
,'$'
->'\Z'
p m
とs
を両方指定するのと同じl 最も長くマッチするものを探す n 空のマッチを無視する e 結果のコードを eval() する PHP 7.1.0 で非推奨になり、PHP 8.0.0 で削除されました。 注意:
mb_regex_set_options() に
"e"
オプションを設定しても、何も起きません。 mb_ereg_replace() や mb_eregi_replace() で指定するようにしてください。Regex 構文モード(ひとつだけ設定可能です) モード 意味 j Java (Sun java.util.regex) u GNU regex g grep c Emacs r Ruby z Perl b POSIX Basic regex d POSIX Extended regex
戻り値
以前設定されていたオプションを返します。
options
が省略された場合、または null
の場合、
現在設定されているオプションを文字列で返します。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 |
options が指定され、null でない場合、
以前に 設定されていたオプションが返されるようになりました。
これより前のバージョンでは、
現在 設定されているオプションが返されていました。
|
8.0.0 |
options は、nullable になりました。
|
8.0.0 |
"e" オプションを指定すると、ValueError がスローされるようになりました。
|
7.1.0 |
"e" オプションを指定すると、E_DEPRECATED が発生するようになりました。
|
参考
- mb_split() - マルチバイト文字列を正規表現により分割する
- mb_ereg() - マルチバイト対応の正規表現マッチ
- mb_eregi() - マルチバイトをサポートし、大文字小文字を無視した正規表現マッチ
+add a note
User Contributed Notes 2 notes
indeyets at php dot net ¶
15 years ago
It's a bit trickier, than patryk wrote:
There are parameters (you can specify several of these at the same time):
'i': ONIG_OPTION_IGNORECASE;
'x': ONIG_OPTION_EXTEND;
'm': ONIG_OPTION_MULTILINE;
's': ONIG_OPTION_SINGLELINE;
'p': ONIG_OPTION_MULTILINE | ONIG_OPTION_SINGLELINE;
'l': ONIG_OPTION_FIND_LONGEST;
'n': ONIG_OPTION_FIND_NOT_EMPTY;
'e': eval() resulting code
And there are "modes" (if you specify several of these, the LAST one will be used):
'j': ONIG_SYNTAX_JAVA;
'u': ONIG_SYNTAX_GNU_REGEX;
'g': ONIG_SYNTAX_GREP;
'c': ONIG_SYNTAX_EMACS;
'r': ONIG_SYNTAX_RUBY;
'z': ONIG_SYNTAX_PERL;
'b': ONIG_SYNTAX_POSIX_BASIC;
'd': ONIG_SYNTAX_POSIX_EXTENDED;
You can find descriptions of these constants here: http://www.geocities.jp/kosako3/oniguruma/doc/API.txt
patryk dot szczyglowski at gmail dot com ¶
16 years ago
Supported options are:
i - ONIG_OPTION_IGNORECASE
x - ONIG_OPTION_EXTEND
m - ONIG_OPTION_MULTILINE
s - ONIG_OPTION_SINGLELINE
p - ONIG_OPTION_MULTILINE | ONIG_OPTION_SINGLELINE
l - ONIG_OPTION_FIND_LONGEST
n - ONIG_OPTION_FIND_NOT_EMPTY
j - ONIG_SYNTAX_JAVA
u - ONIG_SYNTAX_GNU_REGEX
g - ONIG_SYNTAX_GREP
c - ONIG_SYNTAX_EMACS
r - ONIG_SYNTAX_RUBY
z - ONIG_SYNTAX_PERL
b - ONIG_SYNTAX_POSIX_BASIC
d - ONIG_SYNTAX_POSIX_EXTENDED
e - eval() resulting code
Constants above are from Oniguruma regexp library, which is used internally. Default value for PHP 5.2.x is 'pr'.