Поиск в строке |
Здравствуйте, гость ( Вход | Регистрация )
Поиск в строке |
AD |
16.12.2009, 15:55
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Есть ли возможность с помощью регулярных выражений сделать следующий трюк? Есть, предположим, такие строки: "7.1C_OFF 9.1 9.3 1_ON 7.3W_OFF" и "7.2C_OFF 6_ON 7.1W_OFF". Ну так чтобы при поиске в этих строках подстроки например "1" первая строка подпадала под это правило, а вторая нет? Есть правило регулярное, которое бы так ограничивало бы? Ну в смысле, что-то в регулярное выражение
добавить так, чтобы при следующем поиске
внутрь попадало при подставке в s первой строки и не попадало при подстановки 2-ой? |
|
|
kwisp |
16.12.2009, 16:10
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
AD,
не особо понял твои мысли. ну привяжись к началу строки. допустим начало стороки какие-то символы не больше 2 или 3 единичка какой-то текст конец строки. что то типо этого "^(.){1,2}1(.)*$" П.С. не проверял. Сообщение отредактировал kwisp - 16.12.2009, 16:11 |
|
|
AD |
16.12.2009, 16:27
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
kwisp, не то. В смысле есть строка где есть события с целыми номерами и есть с вещественными. так вот смысл в том, что, если в подстроке ищется целое число, то он и находил строки с целыми числами, а если вещественное, то с вещественными.
|
|
|
kwisp |
16.12.2009, 16:42
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
AD,
надо было сразу так и написать:) тебе надо выбрать к примеру все строки, в которых есть целые числа ? правильно? QRegExp("(\\s+\|^)(\\d+)(\\s+\|$)") что нить типа этого выберет тебе строки с целыми числами QRegExp("(\\s+\|^)(\\d+)\.(\\d+)(\\s+\|^)"); - с вещественными П.С. не проверял. Сообщение отредактировал kwisp - 16.12.2009, 16:45 |
|
|
Litkevich Yuriy |
16.12.2009, 17:17
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AD, вроде ты уже такую тему поднимал. Продолжал бы там.
П.С. я думал это уже решено у тебя. |
|
|
AD |
16.12.2009, 18:09
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
AD, вроде ты уже такую тему поднимал. Продолжал бы там. П.С. я думал это уже решено у тебя. Там решено. А здесь вопрос другой. Ну ладно.... сделал с помощью велосипеда. kwisp, не так. Не любое число, а четко заданное в данный момент. Ладно... С помощью извращения добился нужного результата! |
|
|
kwisp |
16.12.2009, 18:11
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
AD,
если четко заданное то еще проще вместо \\d вставляй своё четкозаданное число и всё. |
|
|
Текстовая версия | Сейчас: 26.12.2024, 21:46 |