php 正则匹配数字开头_将特殊字母与PHP正则表达式匹配

正则表达式具有各种特性,最近在PHP和中创建正则表达式时遇到了其中的一种preg_match。当我遇到问题时,我试图解析格式为“实名(:username)”的字符串,在Mozilla上我会看到很多东西:我的正则表达式没有正确捕获“特殊”或“国际”字母,例如à ,é,ü以及其他数十种。

我的正则表达式A-z 在正则表达式的实名匹配部分中使用,我认为它将与特殊字母匹配,但是没有:

preg_match (
  “ /([[A-Za-z-] +)? s? [?(?:([A-Za-z0-9 - _] +))?]?//” , 
  “ YepNopé[:ynope]” , $ matches );

// 0 =>'[:ynope]',1 =>'YepNopé',2 =>'ynope'

为了匹配国际字母,我需要以两种方式更新正则表达式:

  • 更改A-zpL 匹配项内
  • 添加u 修饰符会使字符串被视为UTF-8

更新后的正则表达式为:

preg_match (
  “ /([[pL-] +)? s? [?(?:([ pL0-9 - _] +))?]?/ u” , 
  “是的[ :ynope]“ , $ matches );

// 0 =>'YepNopé[:ynope]',1 =>'YepNopé',2 =>'ynope'

您可以在这里看到我的简易测试床。如果您担心其他字符会渗入或不信任pL,可以手动列出每个特殊字母(例如[A-zàáâä....]

在像Mozilla这样的真正全球化的组织中工作的一个不错的方面之一是,我遇到了很多极端情况。在这种情况下,一些特殊的字母!

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里PHP进阶架构师>>>视频、面试文档免费获取

或 者关注我每天分享技术文章

进阶PHP架构师​www.zhihu.com
358310431ef0e04453a450e0797e18c2.png
翻译来源:https://davidwalsh.name/letters-regex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值