Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

регулярка   Найти похожие ветки 

 
antonn ©   (2007-10-31 18:22) [0]

помогите составить регулярку. Нужно выделить в тексте служебные слова (ну обычным жирным шрифтом). Слова - группа букв разделенных пробелом, началом  и концом строки. Вот такая фигня работает пока служебные слова встречаются редко:
$b=preg_replace( "#(^|[ ]|\<br\>)(CASE|WHEN|THEN|ELSE|END)(\&\#|[ ]|<br>|$)#i", "\\1<Ж>\\2</Ж>\\3" , $b );

но проблема начинается, когда слова идут подряд через пробел: THEN ELSE END. насколько я понял, при поиске первого слова захватывается пробел м/у then и else, и для else уже не выполняется условие регекспа.
Как можно заставить не захватывать пробел? или вообще как бы решить эту задачу?


 
@!!ex ©   (2007-10-31 18:24) [1]

php?


 
antonn ©   (2007-10-31 18:28) [2]

ага


 
Eraser ©   (2007-10-31 18:40) [3]


> antonn ©   (31.10.07 18:22) 

очень советую такую программулину RegEx Buddy - крайне удобно составлять регулярные выражения в ней.


 
antonn ©   (2007-10-31 18:49) [4]

хм, вроде много всего в нее понавешано, попробую разобраться, спасибо :)


 
antonn ©   (2007-10-31 18:55) [5]

хы-хы %)
$b=preg_replace( "#\b(CASE|WHEN|THEN|ELSE|END)\b#i", "\\1<Ж>\\2</Ж>\\3" , $b );


 
antonn ©   (2007-10-31 18:56) [6]


> \\1<Ж>\\2</Ж>\\3

т.е. <Ж>\\1</Ж>


 
@!!ex ©   (2007-10-31 19:07) [7]

А написать простенький парсер не реально?


 
antonn ©   (2007-10-31 19:17) [8]

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


 
@!!ex ©   (2007-10-31 19:29) [9]

> [8] antonn ©   (31.10.07 19:17)

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



Страницы: 1 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1194697560
alikon1
2007-11-10 15:26
2007.12.02
Конвертирование из поля Edit в нормальный знак.


15-1193313950
Nucer
2007-10-25 16:05
2007.12.02
TCP сервер


15-1194259585
xayam
2007-11-05 13:46
2007.12.02
что скажите про этот хостинг


15-1193727308
Garik888
2007-10-30 09:55
2007.12.02
Компонент для печати


11-1179038922
VPBar
2007-05-13 10:48
2007.12.02
Предложение по доработке MCK для совместимости с автоформатерами