Php 正则表达式替换以获取合法名称
我有他们学历的名单,我需要清理和删除他们的学历。下面是一些列出的例子Php 正则表达式替换以获取合法名称,php,preg-replace,Php,Preg Replace,我有他们学历的名单,我需要清理和删除他们的学历。下面是一些列出的例子 伯曼、PMP、CSM 阿德三亚,工商管理硕士 布拉格罗夫·曼德利,无国界医生 鲍德温,工商管理硕士 Akwaboah CEH、CASP、CAP、CCSK、SCM、VmWare Arif(CCIE SP) A.屏蔽、BB、PMP 终审法院朱幼麟 我需要输出像这样 伯曼 阿德三亚 布拉格罗夫·曼德利 鲍德温 阿克瓦波阿 阿里夫 A.盾牌 小楚 我需要一个没有资格的合法姓名。我尝试了preg\u replace。下面是我的代码
- 伯曼
- 阿德三亚
- 布拉格罗夫·曼德利
- 鲍德温
- 阿克瓦波阿
- 阿里夫
- A.盾牌
- 小楚
preg\u replace
。下面是我的代码
preg_replace('/[^A-Za-z\. -]/i',' ',$result->last_name);
你可以用
'~(?:-\p{Lu}+\b|\s*\([^()]*\)|[,|][^,|]+)+$~'
看。您可以在最后一个~
分隔符之后添加u
修饰符,以同时支持Unicode字符串
详细信息
-一次或多次连续重复:(?:-\p{Lu}+\b|\s*\([^()]*\)|[,[124;][^,|]+)+
-1+大写字母作为一个单词,或-\p{Lu}+\b |
-0+空格,后跟\s*\([^()]*\)
),任何0+字符,而不是(
和(
,然后是)
,或)
-a[,|][^,|]+
或,
后跟1+字符,而不是|
或,
-字符串结束锚定$
4.
和5.
?有什么原因吗?请尝试4和5也包括在内,我只是输出了几个示例,如果您的ALLCAPS限定符(如CEF
仅由几个大写字母组成,\p{Lu}+
应该可以工作。