我们之前介绍的特征和元素,atomic delimiter正则表达式,那么我们的基本语法的正则表达式教程剩下的正则表达式模式的改性剂。本节将介绍图式修正的概念,模式改性剂和改性剂组成,图案结合实例演示。在学习了这一部分的内容后,您可以完全阅读正则表达式。

什么是模式修饰符

1,模式修饰符只是几个字母。我们可以以一种规则的方式使用一个正则表达式,或者我们可以继续使用不止一个表达式,每个表达式都有一定的意义。
2,模式修饰符用于调整整个正则表达式,也可以是正则表达式的函数的扩展。
记住,正则表达式你/原子和元字符 /修改模式的公式,这是边界线匹配。

图案修饰剂的组成
模式修饰符是字母,但在模式修饰符的应用中有特殊的含义。让我看看有哪些模式修饰符,请看下表:





型改性剂
解释

我
表示与模式匹配不能区分案例和案例。

M
将该模式视为多行,使用和$表示任何行可以用正则表达式启动或结束。

S
如果没有使用模式修改,在元字符默认不能代表换行符的字符串,并被认为是一个单一的线。

X
表示模式中的空白被忽略。

E
正则表达式必须用时preg_replace使用替换字符串。

一
从一个模式字符串开始,相当于一个元字符

Z
用模式字符串结束,相当于一个元字符$

u
正则表达式的特点是贪婪,使用模式修饰符来消除贪婪模式。

因为我指出匹配是不区分大小写的,在下面的示例中,我们不再有演示了。让我们来看一下其他模式修饰符的示例。

1,图案修饰符m。
复制代码代码如下所示:
< PHP
美元=;
字符串= 'bcd美元
基础知识
CBA;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{人}
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

匹配结果是成功的。注意:当我们使用模式修饰符m时,我们把匹配字符串看作是多行而不是默认的一行,所以只要行以abc开头,任何行都会成功。但是,如果正则表达式的匹配模式被修改,如果匹配线前面有一个空格,那么它就不能匹配了。
2,模式修饰s。
复制代码代码如下所示:
< PHP
美元=;
字符串= 'adsadsa美元
C;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{ { { }
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

匹配的缺点是成功的。如果你将上述例子的方式修改删除它,你会失败的。因为图案修饰的待匹配字符串作为一个单一的线,这一次,。的元字符表示换行符。
3,模式修饰符x。
复制代码代码如下所示:
< PHP
美元=;
字符串=C美元;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{人}
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

这个匹配的结果失败了,因为我们使用模式修饰符X来取消模式中的空格。注意:我们不能使用模式修饰符来取消该表示的空白。
4,图案修饰剂A。
复制代码代码如下所示:
< PHP
美元=;
$字符串'acahgyghvbm;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{ { { }
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

正则表达式的意义是匹配以ac开头的字符串,结果是成功的。
模式修饰符Z表示字符串结尾处的一个匹配,这与a的用法相同,我们不再这样做了。
5,图案修饰符。
这个模式修饰符非常重要!在正则表达式中,它们是贪婪的,那么什么是贪婪模式呢贪婪模式意味着正则表达式在搜索第一个匹配后将继续尝试匹配。如果我们能找到匹配,我们将匹配最大范围字符串,但有时它不是我们想要的结果,所以我们需要取消贪婪模型。
让我们看一个贪婪模型的例子。
复制代码代码如下所示:
< PHP
美元=;
欢迎来到phpfuns字符串=美元;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{ { { }
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

这个例子是为了比赛的欢迎,但欢迎phpfuns,整个字符串(注意string'welcome我们phpfuns,开头和结尾构成一个正则表达式模式匹配,所以,这是成功的),贪婪模式的正则表达式。当然,这不是我们想要的结果。

废除贪婪模式

我们可以使用模式修饰符u和元字符两种方式来取消正则表达式的贪婪模式。
模式修饰u取消贪婪模式
复制代码代码如下所示:
< PHP
美元=;
欢迎来到phpfuns字符串=美元;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{人}
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

元字符取消贪婪模式
复制代码代码如下所示:
< PHP
美元=;
欢迎来到phpfunsdsadsadas字符串=美元;
如果(preg_match(美元美元美元模式字符串,ARR)){
正则表达式{ $ }和字符串{ } }匹配成功;
print_r($ ARR);
{ { { }
正则表达式{ $ }和字符串{ } }匹配失败;
}
>

注意元字符的位置,我们必须结束贪婪模式才能实现我们的目标,匹配欢迎!
在这一节中,我们将介绍正则表达式中的模式修饰符,正则表达式的贪婪模式,以及在正则表达式中演示模式修饰符的用法。到目前为止,我们已经完成了基本正则表达式语法。