Модератор: Модераторы разделов
-
Liksys
- Сообщения: 2910
Сообщение
Liksys »
Нужно составить шаблон, который бы обнаруживал выражения типа:
Написал вот что:
, работает только когда в скобках одно слово. Да и вообще по-моему неверно составлено.
Може то подскажет?
-
Хрюндель
- Сообщения: 304
- ОС: Сам не знаю
Сообщение
Хрюндель »
Код: Выделить всё
import re
a = open("file.txt","r")
for i in a:
if re.findall("^\([\w\s\d]+\)$",i):
print i,
-
Хрюндель
- Сообщения: 304
- ОС: Сам не знаю
Сообщение
Хрюндель »
Я конечно не знаю как там точно идёт qregex, но думаю он немногим от питоновского отличается..
-
Liksys
- Сообщения: 2910
Сообщение
Liksys »
неа, нифига не работает

-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Сообщение
sergio »
Darth Liksys писал(а): ↑12.09.2007 20:13
Нужно составить шаблон, который бы обнаруживал выражения типа:
Написал вот что:
, работает только когда в скобках одно слово. Да и вообще по-моему неверно составлено.
Може то подскажет?
Брр, наск понимаю, скобка не та, т.е. внутри [] должна быть ^) а не ^(
т.е.
не?
Эта фигня заменяет неск слов в скобках на ХХХ (вместе со скобками)...
Про остальное не скажу, у меня там от бэкслейшей в глазах рябит.
Зы: поправил чуток, баг был.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Voice
- Сообщения: 1073
- Статус: столлманист
- ОС: Debian GNU/Linux
Сообщение
Voice »
Не знаю правда как там в Питоне но в Перле и Баше вот так:
Код: Выделить всё
[viacheslav@debian fac] $ echo '(несколько слов)' | grep '\(.*\)'
(несколько слов)
[viacheslav@debian fac] $
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Сообщение
diesel »
Voice писал(а): ↑13.09.2007 01:00
Не знаю правда как там в Питоне но в Перле и Баше вот так:
Код: Выделить всё
[viacheslav@debian fac] $ echo '(несколько слов)' | grep '\(.*\)'
(несколько слов)
[viacheslav@debian fac] $
смотря что надо:
~$ echo "(несколько слов)(и еще пара)"|grep -oE '\(.*?\)'
(несколько слов)(и еще пара)
~$ echo "(несколько слов)(и еще пара)"|grep -oE '\([^)]*\)'
(несколько слов)
(и еще пара)
-
Liksys
- Сообщения: 2910
Сообщение
Liksys »
Нет, по-любому никак. Это наверно надо именно особенности QRegExp юзать.