2011-12-22 12 views
0

したがって、私はcamelCaseまたはPascalCaseを想定した文字列を分割し、lowercase_with_underscoresに変換する正規表現を使用しています。私はまた、それが一つの単位として行の大文字の文字列を想定した文字列を分割することができるようになりますように、これを変更したい文字列をCapitalzation以外の文字列で区切る正規表現

strtolower(preg_replace('/(?!^)[[:upper:]]/','_\0', $string)); 

:それ正規表現は、この(PHP)のように見えます。たとえば、次の文字列を分割することができます:

'GUID' => 'guid' 
'SOME_VALUES' => 'some_value' 
'someThingELSE' => 'some_thing_else' 

これを行うための正規表現を変更する方法に関する提案はありますか?

答えて

2

方法について:

$result = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $string)); 
+0

ことが@luastoned THISisODD' – luastoned

+0

'のようなものの世話をしない方法:' GUID'のような、それはすべて小文字になります(つまり、 'thisisodd'を) - >' guid' – Toto

+0

ありません本当に: 'thisis_odd' - それは' someThingELSE'を得ます。 – luastoned

関連する問題