正则表达式模式/[^[:ascii:]]+/ui将匹配一个或多个非ascii字符.

正则表达式模式/[\p{L}]+/ui将匹配unicode"letter"类中的一个或多个字符.

我不知道如何匹配unicode"letter"类中的一个或多个字符,这些字符不是ascii字符.

推荐答案

可以像这样使用否定字符类:

[^\P{L}[:ascii:]]+

RegEx Demo 1

这将匹配任何非ASCII且不匹配\P{L}的字符的1+(\p{L}的倒数)


或者,您可以在非捕获组中使用负前瞻:

(?:(?![[:ascii:]])\p{L})+

RegEx Demo 2

Php相关问答推荐

仅显示特定WooCommerce产品类别的额外产品字段

CodeIgniter AJAX表格提交中的CSRF token 再生问题

无法添加ProxyClass__setInitialized()上的忽略

在不超过PHP时间限制的情况下,在Laravel中高效地插入批量数据(25万条记录)?(队列、多租户)

msgraph-sdk-php v2如何传递skiptoken到request?

如何更改数据表行背景 colored颜色

WHERE方法不能与有效查询Laravel一起使用

函数存储到变量中

如何使用PHP从TXM(XML)标记中读取特定属性

HTTPPost请求在从php脚本调用时返回404,但在从node.js脚本调用时有效.终结点有效

在WooCommerce中以编程方式添加特定产品后,将价格设置为零

WooCommerce:如果订单总数为零,则隐藏本地取货运输选项

如何在 Laravel 迁移中使用日期时间和天数?

PHP向API发送curl请求

从图像URL中获取文件扩展名?

PHP preg_replace括号和方括号内的所有逗号

PHP 中是否有 is_closure() 函数?

Laravel 测试 assertJsonMissing 不适用于唯一的键.为什么?

如何使用属性创建属性预设?

password_verify 在 PHP 7.4 中有效,但在 PHP 8.2 中无效