php正则匹配字符串中的中文
时间: 2023-10-16 17:08:13 浏览: 88
可以使用正则表达式来匹配字符串中的中文。以下是一个基本的 PHP 正则表达式示例,可以匹配字符串中的中文:
```
preg_match_all('/[\x{4e00}-\x{9fa5}]+/u', $str, $matches);
```
这个正则表达式会匹配所有的中文字符,并将它们存储在 `$matches` 数组中。其中,`$str` 是待匹配的字符串。`[\x{4e00}-\x{9fa5}]` 是一个 Unicode 范围,表示所有的中文字符。
如果你需要匹配的字符串中还包含其他字符,可以将正则表达式修改为:
```
preg_match_all('/[\x{4e00}-\x{9fa5}a-zA-Z0-9]+/u', $str, $matches);
```
这个正则表达式将匹配所有中文字符、字母和数字。
相关问题
php 正则匹配 字符串href
可以使用以下正则表达式来匹配字符串中的 href:
```php
$pattern = '/href\s*=\s*[\"\']?([^\"\'>\s]+)/i';
```
这个表达式可以匹配以下几种情况:
- href="url"
- href='url'
- href=url
其中,url 可以包含字母、数字、下划线、短横线等字符。在 PHP 中,可以使用 preg_match_all() 函数来匹配所有的 href:
```php
$string = "这是一个字符串,其中包含 href='http://www.example.com' 和 href=\"https://www.example.org\"";
$pattern = '/href\s*=\s*[\"\']?([^\"\'>\s]+)/i';
preg_match_all($pattern, $string, $matches);
print_r($matches[1]);
```
输出结果为:
```
Array
(
[0] => http://www.example.com
[1] => https://www.example.org
)
```
其中,$matches[1] 就是匹配到的所有 href 的值。
正则匹配字符串中不带省的省份
可以使用正则表达式来匹配字符串中不带省的省份,例如:
```python
import re
text = "我来自江苏南京,你来自哪里?"
pattern = r"((?<!省)[^市]+(?=市))"
result = re.findall(pattern, text)
print(result) # 输出:['南京']
```
这个正则表达式的意思是匹配不以“省”结尾的字符串中的不包含“市”的部分,即省份名称。使用 `re.findall()` 方法可以返回所有匹配的结果。
阅读全文