【发布时间】:2014-10-16 06:11:15
【问题描述】:
我创建了这个正则表达式,如果它位于字符串的开头,它将在所有大写字母的前面添加一个下划线
$string = preg_replace('/(?!^)[A-Z]/', '_$0', $string);
// Hello --> Hello
// HelloHello --> Hello_Hello
// aHelloHello --> a_Hello_Hello
// HELLO --> H_E_L_L_O
// hello --> hello
// HHEllo --> H_Hello
我希望正则表达式跳过字符串开头的所有连续大写字符:
// HHello --> HHello
// HEllO --> HEll_O
// aHEllo --> a_H_Ello
// HHHHHHHHHHellO --> HHHHHHHHHHell_O
简而言之:一个正则表达式,在所有大写字母前添加下划线,但忽略字符串开头的所有连续大写字母。
【问题讨论】: