Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
2-1194293799
mufan
2007-11-05 23:16
2007.12.02
Установка драйверов BDE на клиентской машине, ошибки при запуске


6-1173675345
paradox01
2007-03-12 07:55
2007.12.02
TServerSocket and TClientSocket


6-1175158481
max_max
2007-03-29 12:54
2007.12.02
отправка строки через сокеты в цикле


15-1193930755
MetalFan
2007-11-01 18:25
2007.12.02
что произошло с моей анкетой?!


15-1193307568
Валентин
2007-10-25 14:19
2007.12.02
смогу ли я быть программистом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский