我有他们的教育资格名单,我需要清理和删除他们的教育资格。下面是一些列举的例子。
我需要输出像
我需要一个没有资格的有效法律名称。我试着用preg_replace
。下面是我的代码
preg_replace('/[^A-Za-z\. -]/i',' ',$result->last_name);
你可以用
'~(?:-\p{Lu}+\b|\s*\([^()]*\)|[,|][^,|]+)+$~'
见regex demo。您可以在最后一个u
分隔符后添加~
修饰符以支持Unicode字符串。
细节
(?:-\p{Lu}+\b|\s*\([^()]*\)|[,|][^,|]+)+
- 连续一次或多次重复:
-\p{Lu}+\b|
- 1个大写字母作为整个单词,或
\s*\([^()]*\)|
- 0+空格跟随(
,除了(
和)
之外的任何0+字符,然后是)
,或者
[,|][^,|]+
- 一个,
或|
跟着除了,
或|
以外的1+个字符$
- 字符串锚的结尾。