首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式替换以获得合法名称

正则表达式替换以获得合法名称
EN

Stack Overflow用户
提问于 2018-02-28 10:00:39
回答 1查看 50关注 0票数 1

我有他们的教育资格名单,我需要清理和删除他们的教育资格。下面是一些列举的例子。

  1. Berman,PMP,CSM
  2. Adesanya,MBA
  3. 布兰格罗夫-曼德利,无国界医生
  4. 鲍德温,硕士
  5. Akwaboah,CASP,CAP,CCSK,SCM,VmWare.
  6. Arif (CCIE SP)
  7. A.盾牌、BB、PMP
  8. 朱英九

我需要输出像

  • 伯曼
  • 阿德斯尼亚
  • 布拉格罗夫-曼德利
  • 鲍德温
  • 阿克瓦布
  • 阿里夫
  • A.盾牌
  • 杨初

我需要一个没有资格的有效的合法姓名。我和preg_replace试过了。下面是我的代码

代码语言:javascript
复制
preg_replace('/[^A-Za-z\. -]/i',' ',$result->last_name);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-28 10:36:27

你可以用

代码语言:javascript
复制
'~(?:-\p{Lu}+\b|\s*\([^()]*\)|[,|][^,|]+)+$~'

regex演示。您可以在最后一个u分隔符之后添加~修饰符,以支持~字符串。

详细信息

  • (?:-\p{Lu}+\b|\s*\([^()]*\)|[,|][^,|]+)+ -连续重复一次或多次:
    • -\p{Lu}+\b| - 1+大写字母作为一个整体,或
    • \s*\([^()]*\)| - 0+空格后面跟着(,除了()以外的任何0+字符,然后是),或者
    • [,|][^,|]+ -a ,|后面跟着1+ chars,而不是,|

  • $ -字符串锚的末端。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49026699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档