#php #regex #string
#php #регулярное выражение #строка
Вопрос:
Я пытаюсь разделить строку типа:»ThisIsA STRING»
Я хочу, чтобы он разделялся следующим образом: «Это строка»
Мое текущее регулярное выражение дает мне следующий результат: «Это S T R I N G»
$filname_desc = preg_replace('/([a-z0-9])?([A-Z])/','$1 $2',$filname_desc);
Возможно ли изменить регулярное выражение, чтобы оно разделялось только в том случае, если следующий символ является строчным?
Ответ №1:
php> $str = "ThisIsA STRING"
php> echo preg_replace('/([a-z])([A-Z])/','$1 $2', $str)
This Is A STRING
Ответ №2:
Попробуйте
$filname_desc = preg_replace('/([a-z0-9] )?([A-Z] )/','$1 $2',$filname_desc);
Ответ №3:
Используйте предварительный:
$filname_desc = preg_replace('/([a-z0-9])(?=[A-Z])/','$1 ',$filname_desc);
[a-z0-9]
совпадает, только если за ним следует [A-Z]
.
Ответ №4:
Удалите символ ‘?’, заключенный в квадратные скобки.