Regex 这个组(?<;!^)在正则表达式中是什么意思?

Regex 这个组(?<;!^)在正则表达式中是什么意思?,regex,expression,Regex,Expression,Newbe在这里学习了一些基础知识,并遇到了这个正则表达式。如果有人能帮我解构,那就太好了。提前谢谢你 $source = "ExpandCamelCaseAPIDescriptorPHP5_3_4Version3_21Beta"; preg_replace('/(?<!^)([A-Z][a-z]|(?<=[a-z])[^a-z]|(?<=[A-Z])[0-9_])/', ' $1', $source); // outputs:Expand Camel Case API Des

Newbe在这里学习了一些基础知识,并遇到了这个正则表达式。如果有人能帮我解构,那就太好了。提前谢谢你

$source = "ExpandCamelCaseAPIDescriptorPHP5_3_4Version3_21Beta";
preg_replace('/(?<!^)([A-Z][a-z]|(?<=[a-z])[^a-z]|(?<=[A-Z])[0-9_])/', ' $1', $source);
// outputs:Expand Camel Case API Descriptor PHP 5_3_4 Version 3_21 Beta
$source=“ExpandCamelCaseApiDescriptorHP5\u 3\u 4Version3\u 21Beta”;
preg_替换('/(?

(?<!^)
(?
表示“未在输入开始之前”,或换句话说“开始之外的任何地方”

它是一个反向查找,其形式为
(?并且是一个零宽度断言,表示前面的输入与正则表达式不匹配。将
替换为
=
,您将获得一个正向查找。删除表达式中的

(?<!^)
(?
表示“未在输入开始之前”,或换句话说“开始之外的任何地方”


这是一个消极的向后看,其形式为
(?并且是一个零宽度断言,表明前面的输入与正则表达式不匹配。将
替换为
=
,您将看到一个积极的向后看。删除
感谢波希米亚人的解释。只是想知道如何将其替换为空格($1)你不能。环顾四周是不吸引人的。它根本算不上是一个群体——也就是说,就群体而言,它就像我们不在那里一样。感谢波希米亚人的解释。只是想知道它最终如何被空间取代($1)?你不能。环顾四周是不捕获的。它根本不算是一个组-也就是说,就组而言,它就像我们不在那里一样。有不同形式的正则表达式。我从字符串的内容猜测这是PHP。如果是这样,请在你的问题中添加一个PHP标记(你也可以删除“表达式”)有不同形式的正则表达式。我从字符串的内容猜测这是PHP。如果是,请在您的问题中添加一个PHP标记(您也可以删除“expression”标记;它实际上没有添加任何内容)。