PHP正则表达式元字符有哪些?php正则表达式的元字符怎么用?最近记载记载了不少有关正则表达式的文章,总体上感觉正则表达式还是很强悍的,学习好了能批处理一些数据。浩沐资源网本文主要记载的是PHP正则表达式元字符有哪些?以及PHP正则表达式元字符的一些使用实例,这些元字符和之前记载的文章中的称呼可能有所不同,但是表达和匹配的字符都是一样的。
PHP正则表达式元字符有哪些?
以下表格中可以在PHP正则表达式中使用的这些元字符,之前在正则表达式学习的笔记中都有一些记载,下面是这些正则元字符的功能说明。
元字符 | 元字符说明 |
---|---|
* | 是代表匹配前面的一个原子,匹配0次或者任意多次前面的字符,可以理解为匹配所有字符。 |
+ | 匹配一次或多次前面的一个字符。 |
? | 前面的字符可有可无, 有或没有。 |
. | 更标准一些应该把点算作原子。匹配除了\n空以外所有的字符。 |
| | 或运算。用来匹配两项或者两项以上的字符。 |
^ | 必须要以抑扬符之后的字符串开始,可以匹配每行行首。 |
$ | 必须要以$之前的字符结尾,可以匹配每行行尾。 |
\b | 词边界 |
\B | 非边界 |
{m} | 有且只能出现m次 |
{n,m} | 可以出现n到m次 |
{m,} | 至少m次,最大次数不限制。 |
() | 改变优先级或者将某个字符串视为一个整体,匹配到的数据取出来也可以使用它。 |
PHP正则表达式元字符使用实例
以下列举几个实用的元字符。
+元字符
<?php
$pattern = '/\D+/';
$str ='svassd12312321a';
if(preg_match($pattern,$str,$matches)){
echo '正则匹配成功!';
var_dump($matches);
}else{
echo '抱歉没有找到你要匹配的字符!';
};
?>
+元字符匹配一次或者多次前面的字符,\D匹配非数字的字符,所以就匹配出了数字前面的字符,却没有匹配出数字后面的字符。
{}元字符的使用实例
<?php
$pattern = '/\d{3,}/';
$str ='svassd 12312321a';
if(preg_match($pattern,$str,$matches)){
echo '正则匹配成功!';
var_dump($matches);
}else{
echo '抱歉没有找到你要匹配的字符!';
};
?>
\d{3,}就是匹配3位数以上的数字
. ^元字符使用实例**
<?php
$pattern = '/^你好\w.*/';
$str ='你好wo 2 ai dhaomu.com';
if(preg_match($pattern,$str,$matches)){
echo '正则匹配成功!';
var_dump($matches);
}else{
echo '抱歉没有找到你要匹配的字符!';
};
?>
使用. * ^三个元字符匹配出了以你好之后的所有字符。
本文通过对PHP正则表达式元字符记载和一些元字符的使用实例,加深了我对PHP中使用正则表达式的理解,后面将继续记载在PHP中使用正则表达式的更多文章。