Помогите с регулярным выражением.

grey109

Новичок
Помогите с регулярным выражением.

Есть текстовый файл, со строками типа:

аыаываыва/ уцкцвыавпукеук/ о4лд343343242
4324343/ валыо4д554334/ аваыаа43к43/ авыывавыавыавыывукцке3534/ аываыв45435
джл43549выа/34дло9890423
ф/ы/в

Необходимо "обрамить" обратный слэш пробелами, при условии, что слева от слэша стоит слово длинною 5 и более символов, но при этом не должно получится два или более вместестоящий пробела.

Т.е. на выходе должно получится:
аыаываыва / уцкцвыавпукеук / о4лд343343242
4324343 / валыо4д554334 / аваыаа43к43 / авыывавыавыавыывукцке3534 / аываыв45435
джл43549выа / 34дло9890423
ф/ы/в


Нужно регулярное выражение что-то вроде

$str = preg_replace ('/([a-z]{5,})\/ ([a-z]{5,})/si', '\\1 / \\2 ', $str);
 

God

Новичок
может так:
PHP:
$str = preg_replace ("/([a-zа-я0-9]{5,})\/ {0,}/si", '\\1 / ', $str);
 

sage

Новичок
чуть подправим выражение God
PHP:
echo preg_replace('#(\w{5,})\s*/\s*#', '\1 / ', 'аыаываыва/ уцкцвыавпукеук / о4лд343343242
4324343/ валыо4д554334/ аваыаа43к43/ авыывавыавыавыывукцке3534/ аываыв45435
джл43549выа/34дло9890423
ф/ы/в');
более универсальное, т.е. работает, если между словом и /, и словом стоит * кол-во пробельных символов
 
Сверху