php正则匹配中文、汉字

做项目遇到个问题,需要把所有的不符合命名规则的文件跳出来,例如包含空格的,包含中文的,包含大写字母的。
Laravel 5.1里面可以直接运用遍历,具体方法如下:

public function allFiles() {
    $files = Storage::allFiles('levelData');
    foreach ($files as $key => $value) {
        $a1 = explode('.', $value);
        if (preg_match('/[A-Z]/', $a1[1])) {
            $daxie[] = $value;
        }
        if (preg_match('/\s+/', $value)) {
            $space[] = $value;
        }
		#匹配中文
        if (preg_match('/[\x{4e00}-\x{9fa5}]+/u', $value)) {
            $hanzi[] = $value;
        }
    }
    echo "<pre>";
    echo '<h1>有大写字母的:</h1>';
    print_r($daxie);
    echo '<h1>有空格的:</h1>';
    print_r($space);
    echo '<h1>有汉字的:</h1>';
    print_r($hanzi);
    echo "</pre>";
}

运行的时候报错了,说是目录超出了root范围,查了下资料,需要修改:
我直接改到了web服务器根目录。问题解决:

D:\phpStudy\WWW\xx\config\filesystems.php
    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => 'D:/phpStudy/WWW',
            // 'root' => storage_path('app'),
        ],

在线正则匹配:
http://tool.oschina.net/regex/#
https://regexr.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值