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