mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_regex_set_options设置/获取 mbregex 函数的默认选项

描述

mb_regex_set_options(?string $options = null): string

设置由 options 描述的用于多字节正则表达式函数的默认选项。

参数

options

要设置的选项。这是一个字符串,其中每个字符都是一个选项。要设置模式,模式字符必须是最后设置的一个,但是只能设置一个模式,但可以设置多个选项。

正则表达式选项
选项 含义 变更日志
i 开启模糊匹配  
x 启用扩展模式形式  
m '.' 匹配换行符  
s '^' -> '\A', '$' -> '\Z'  
p ms 选项相同  
l 查找最长匹配  
n 忽略空匹配  
e eval() 生成的代码 从 PHP 7.1.0 开始弃用,从 PHP 8.0.0 开始移除

注意:

"e" 选项通过 mb_regex_set_options() 设置时无效。将其与 mb_ereg_replace()mb_eregi_replace() 一起使用。

正则表达式语法模式(只能设置一个)
模式 含义
j Java (Sun java.util.regex)
u GNU 正则表达式
g grep
c Emacs
r Ruby
z Perl
b POSIX 基本正则表达式
d POSIX 扩展正则表达式

返回值

之前的选项。如果 options 被省略或为 null,它将返回描述当前选项的 string

变更日志

版本 描述
8.0.0 如果参数 options 被给出且不为 null,则返回之前的选项。以前,返回当前选项。
8.0.0 options 现在可以为空。
8.0.0 "e" 选项现在会抛出 ValueError
7.1.0 "e" 选项现在会发出 E_DEPRECATED

参见

  • mb_split() - 使用正则表达式分割多字节字符串
  • mb_ereg() - 支持多字节的正则表达式匹配
  • mb_eregi() - 不区分大小写的正则表达式匹配,支持多字节

添加备注

用户贡献的备注 2 个备注

indeyets at php dot net
14 年前
这比 patryk 所写的内容稍微复杂一些

存在参数(您可以同时指定其中多个)

'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() 生成的代码

还有“模式”(如果指定多个,则将使用最后一个)
'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;

您可以在此处找到这些常量的描述:http://www.geocities.jp/kosako3/oniguruma/doc/API.txt
patryk dot szczyglowski at gmail dot com
15 年前
支持的选项是

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() 生成的代码

上面的常量来自 Oniguruma 正则表达式库,该库在内部使用。PHP 5.2.x 的默认值为 'pr'。
To Top