批量反转(重新调整用途)现有的正则表达式语句

时间:2018-06-11 16:20:31

标签: php regex

Hullo,全部。我有一个正在使我的眼睛交叉的正则表达式问题。我以为我会用我的“打电话给朋友”选项。

这是我经常用于验证人名的表单输入的php正则表达式:/^\pL[\pL '-&]*\z/,它成功捕获所有unicode字符,空格,连字符和&符号(联合名称的最后一个)。

在一个简单的验证场景中,它的工作原理如下:

if(preg_match("/^\pL[\pL '-&]*\z/",$name)){
    echo 'That doth be a name!';
}
else{
    // error procedure
}

举个例子,“Donald&amp; Barack Trump-Obama”的比赛将返回“That doth be a name!”,而“Donald&amp; Barack Trump4444Obama”会因为数字“4”而返回错误。< / p>

现在,我们只是说我有数千这些正则表达式,除了名称验证之外的各种场景,我想将它们用作正则表达式过滤器,而不是上面的假期场景。

如果我只是这样做:

$filteredName = preg_replace("/^\pL[\pL '-&]*\z/","",$name);

然后,如果名称完全匹配,则不返回任何内容("")。

我如何告诉preg_replace输入“Donald&amp; Barack Trump4444Obama”并返回“Donald&amp; Barack TrumpObama”?

请记住,我提出这个问题的动机是我有数百个正则表达式来运行漏斗。

0 个答案:

没有答案