PHP - сопоставление с образцом строки - PullRequest
0 голосов
/ 27 декабря 2011

Мне нужно знать, есть ли способ сделать следующее, используя регулярные выражения (или иным образом) в PHP

aaBaa BBB -> aa Baa BBB

т.е. я хочу ввести пробел перед заглавной буквой, только если заглавная буква встречается до и после маленькой буквы.

Лучшее, что я мог придумать, было что-то вроде этого

$string = preg_replace('/(\w+)([A-Z])/U', '\\1 \\2', $string);

, но это дало бы мне только что-то вроде

aaBaa BBB -> aa Baa BBB

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Попробуйте это:

preg_replace('|([a-z])([A-Z])([a-z])|', '$1 $2$3', $txt);
1 голос
/ 27 декабря 2011

Здесь: http://rubular.com/r/3xqbuWuiLD

([a-z]+)([A-Z]+)
...