所以我有一个正则表达式,它打破了一个字符串,假定camelCase或PascalCase并将其转换为lowercase_with_underscores。那个正则表达式看起来像这样(php):
strtolower(preg_replace('/(?!^)[[:upper:]]/','_\0', $string));
我想修改它,以便它能够分解字符串,它假设一行大写的行作为一个单元。例如,我将能够分解以下字符串:
'GUID' => 'guid'
'SOME_VALUES' => 'some_value'
'someThingELSE' => 'some_thing_else'
有关如何修改正则表达式的任何建议吗?
答案 0 :(得分:2)
怎么样:
$result = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $string));