Правильное написание regexp |
Здравствуйте, гость ( Вход | Регистрация )
Правильное написание regexp |
AD |
27.8.2008, 17:29
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Буду благодарен, если напишите правильный regexp для след. цели: надо найти в строке символы, не являющиеся цифрами и точкой/запятой.
|
|
|
Tonal |
29.8.2008, 12:15
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
1) Про символ '\b' нужно читать не в ассистенте, а в учебнике по С/С++ там же где и про символ '\n'
2) Когда в С/С++ пишешь регулярку нужно помнить об отслешивении слешей. Т.е. если в документации написано, что конструкция \b это граница слова, а ты хочешь найти скажем слово word, то в коде это будет выглядеть так:
3) Если ты ещё не понял, конструкция (слеши не отслешены): [\bC_ON\b\bW_ON\b\bC_OFF\b\bW_OFF\b] эквивалентна [\bC_ONWF] и найдёт 1 из перечисленных символов, но не их последовательность. 4) Пусть у тебя есть строка: "123.3 - 123 C_ON, W_ON, 1235, -456, C_OFF + W_OFF / Word G_is , OFF bat . War 5 dog_cat 67 ONtologi" После удаления у тебя получится: "123.3123C_ON,W_ON,1235,456,C_OFFW_OFF,.567" Именно это тебе нужно? |
|
|
AD |
29.8.2008, 12:24
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
1) Про символ '\b' нужно читать не в ассистенте, а в учебнике по С/С++ там же где и про символ '\n' 2) Когда в С/С++ пишешь регулярку нужно помнить об отслешивении слешей. Т.е. если в документации написано, что конструкция \b это граница слова, а ты хочешь найти скажем слово word, то в коде это будет выглядеть так:
3) Если ты ещё не понял, конструкция (слеши не отслешены): [\bC_ON\b\bW_ON\b\bC_OFF\b\bW_OFF\b] эквивалентна [\bC_ONWF] и найдёт 1 из перечисленных символов, но не их последовательность. 4) Пусть у тебя есть строка: "123.3 - 123 C_ON, W_ON, 1235, -456, C_OFF + W_OFF / Word G_is , OFF bat . War 5 dog_cat 67 ONtologi" После удаления у тебя получится: "123.3123C_ON,W_ON,1235,456,C_OFFW_OFF,.567" Именно это тебе нужно? Нет для приведенной строки получилось совсем не то, что мне надо! Согласен, что у меня корявая конструкция!!! Как сделать правильно? |
|
|
Текстовая версия | Сейчас: 28.12.2024, 6:12 |