php正则匹配, 根本概念
PHP正则表达式(Regular Expression)是一种强壮的字符串处理东西,用于匹配、查找、替换和提取文本中的特定形式。在PHP中,正则表达式一般与`preg_match`, `preg_replace`, `preg_split`, `preg_grep`, `preg_match_all`等函数一同运用。
根本语法正则表达式由一系列字符和元字符组成。元字符具有特别意义,能够匹配一个或多个字符。下面是一些根本的元字符:
`.`:匹配除换行符外的任何单个字符。 `^`:匹配输入字符串的开端方位。 `$`:匹配输入字符串的完毕方位。 ``:匹配前面的子表达式零次或屡次。 ` `:匹配前面的子表达式一次或屡次。 `?`:匹配前面的子表达式零次或一次。 ``:符号一个子表达式的开端和完毕方位。 ``:界说一个字符调集,匹配调集中的恣意一个字符。 `|`:匹配左右任一表达式。
示例1. 匹配一个邮箱地址: ```php if @ .{2,}$/ $emailqwe2qwe2 { echo 邮箱地址格局正确; } else { echo 邮箱地址格局不正确; } ```
3. 切割字符串: ```php $text = 苹果,香蕉,橙子; $fruits = preg_split; print_r; // 输出: Array => 苹果 => 香蕉 => 橙子 qwe2 ```
注意事项 在运用正则表达式时,要保证字符串中不包含任何特别字符,或许对特别字符进行转义。 正则表达式或许会对功用产生影响,特别是当处理很多数据时。 运用正则表达式时,要保证它能够匹配你想要匹配的一切状况,一起不会过错地匹配其他状况。
PHP正则匹配:深化了解与实践使用
正则表达式(Regular Expression)是一种强壮的文本处理东西,它答使用户对字符串进行杂乱的查找、匹配和替换操作。在PHP中,正则表达式经过一系列内置函数得到支撑,使得开发者能够轻松地在PHP代码中完成文本处理功用。本文将深化探讨PHP正则匹配的相关常识,包含根本概念、常用函数以及实践使用事例。
根本概念
正则表达式简介
正则表达式是一种用于描绘字符串形式的语法规矩。它由字符、符号和元字符组成,能够用来匹配字符串中的特定形式。在PHP中,正则表达式首要用于字符串的查找、匹配和替换。
元字符
- `.`:匹配除换行符以外的恣意单个字符。
- `[]`:匹配括号内的恣意一个字符(字符集)。
- `[^]`:匹配不在括号内的恣意一个字符(否定字符集)。
- ``:匹配前面的子表达式零次或屡次。
- ` `:匹配前面的子表达式一次或屡次。
- `?`:匹配前面的子表达式零次或一次。
- `{n}`:匹配前面的子表达式刚好n次。
- `{n,}`:匹配前面的子表达式至少n次。
- `{n,m}`:匹配前面的子表达式至少n次,但不超越m次。
常用函数
preg_match()
`preg_match()` 函数用于履行对字符串的匹配操作。它承受三个参数:正则表达式、待匹配的字符串和用于存储匹配成果的数组。
```php
$pattern = '/\\b[a-zA-Z0-9._% -] @[a-zA-Z0-9.-] \\.[a-zA-Z]{2,}\\b/';
$subject = '[email protected]';
$matches = array();
if (preg_match($pattern, $subject, $matches)) {
echo 'Email: ' . $matches[0];
preg_match_all()
`preg_match_all()` 函数与 `preg_match()` 相似,但它会匹配字符串中一切契合正则表达式的子串,并将它们存储在数组中。
```php
$pattern = '/\\b[a-zA-Z0-9._% -] @[a-zA-Z0-9.-] \\.[a-zA-Z]{2,}\\b/';
$subject = '[email protected], [email protected]';
$matches = array();
preg_match_all($pattern, $subject, $matches);
foreach ($matches[0] as $email) {
echo 'Email: ' . $email . \