Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярное выражение для поиска паттерна без новой строки

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

LaVas_ki

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть текст вида
Test test\n[quote:1v5xzi52]Test test[/quote:1v5xzi52]\nTest test\n[quote:1v5xzi52]Test test[/quote:1v5xzi52] \n2\n[quote:1v5xzi52]Test test[/quote:1v5xzi52]Test test\n3\nTest test[quote:1v5xzi52]Test test[/quote:1v5xzi52] Test test
 
Надо в нем найти все [/quote:*], которые без символа новой строки \n
Например такие трогать не надо:
[/quote:1v5xzi52]\n
сразу новая строка
[/quote:1v5xzi52] \n
"пустые" символы до новой строки
 
А вот такие без \n должны находится:
[/quote:1v5xzi52]Test
сразу текст
[/quote:1v5xzi52] Test
текст вместе с пробелами
 
Пока вот только смог просто все вхождения найти
http://www.regexr.com/3dd33
 
ПС
конечно 1v5xzi52 может быть любым ID

Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 07:52 11-05-2016 | Исправлено: LaVas_ki, 07:53 11-05-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LaVas_ki
для какого языка? а то бывают свои особенности
 
ps: /\[\/quote:.*?\]\s*\\n/g
\\n ибо в тексте не совсем новая строка
это находит с новой строкой, ну и нужно, соответственно, сказать, что после пробела не новая строка
 
/\[\/quote:[^\]]+\](?!\s*\\n)/g

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 08:03 11-05-2016 | Исправлено: Mavrikii, 08:17 11-05-2016
LaVas_ki

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для какого языка?

руками будут в каком-нибудь текстовом редакторе делать. что б на сайте http://www.regexr.com/ работало хотя б

Цитата:
/\[\/quote:.*?\]\s*\\n/g  

Ну похоже, что нашлись именно те, что не нужны, потому что найти нужно как раз те, у которых нет \n
http://i.imgur.com/XEf1fRu.jpg
Как инвертировать?

Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 08:15 11-05-2016 | Исправлено: LaVas_ki, 08:18 11-05-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LaVas_ki
выше написал
 
/\[\/quote:[^\]]+\](?!\s*\\n)/g

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 08:17 11-05-2016
LaVas_ki

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
спасибо!
Пара вопросов - никак не пойму, как читается [^\]] перед quote:
и если мне надо добавить еще один символ в исключение, то как?
Что бы выкинуть еще и [ до кучи к \n  
например [/quote:1v5xzi52][a]

Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 08:31 11-05-2016 | Исправлено: LaVas_ki, 08:32 11-05-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LaVas_ki

Цитата:
как читается [^\]] перед quote

что угодно, только не ]

Цитата:
то как?

через или
(?!\s*(\\n|\[))
 
ну или пример конкретный нужен.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 08:33 11-05-2016
LaVas_ki

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, все понял.

Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 15:13 11-05-2016
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярное выражение для поиска паттерна без новой строки


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru