Найти - Пользователи
Полная версия: Парсинг текста
Начало » Центр помощи » Парсинг текста
1
PaRaDokS
Доброго времени суток, есть такая задача)

Имеется переменная с текстом, мне нужно из текста получить все строки схожие на эту - “/images/content/57_17_6_19524_256”, в примере меняются только цифры)

Как это сделать?
fata1ex
С помощью регулярных выражений.

'/images/content/[0-9_]*'

Есть еще grep, но, боюсь, у вас Windows.
EBFE
fata1ex
Есть еще grep, но, боюсь, у вас Windows.
C:\Users\EBFE>findstr /R "<=[0-9]*" spc.hst
X in {0,3,6},Y in {0,2,4},minimize(X+Y#<=7,R).
X in {0,3,6},Y in {0,2,4},minimize(X#+Y#<=7,R).

C:\Users\EBFE>findstr /N /R "<=[0-9]*" spc.hst
16:X in {0,3,6},Y in {0,2,4},minimize(X+Y#<=7,R).
17:X in {0,3,6},Y in {0,2,4},minimize(X#+Y#<=7,R).
В принципе, для большенства задач вполне хватает.

Можно кстати и “нормальный” grep поставить
C:\Users\EBFE>grep --version
GNU grep 2.5.4

Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
odnochlen
Можно, но не кроссплатформенно (в смысое на винде его искаропки нет) и лишняя зависимость.
plusplus
Можно еще с помощью xpath модуля lxml, что-то вроде: ‘//img[contains(@src,“/images/content”)’. Нужно полностью хтмл-код видеть, чтобы точно написать xpath-выражение.
WorldCount
PaRaDokS
Доброго времени суток, есть такая задача)

Имеется переменная с текстом, мне нужно из текста получить все строки схожие на эту - “/images/content/57_17_6_19524_256”, в примере меняются только цифры)

Как это сделать?
import re
string = "sdfksdjfklsdkl /images/content/57_17_6_19524_256 sdfsdlfkl;sd/images/content/16_17_8_12535_277sdflsdklfksdl;fkl;sdkfl;"
pattern = ur"(/\S{6}/\S{7}/\d{2}_\d{2}_\d{1}_\d{5}_\d{3})"
result = re.findall(pattern, string)
print result
Выведет:
['/images/content/57_17_6_19524_256', '/images/content/16_17_8_12535_277']

Пи.Ся > Регулярка не ахти какая, но думаю знающие люди поправят
py.user.next
WorldCount
pattern = ur"(/\S{6}/\S{7}/\d{2}_\d{2}_\d{1}_\d{5}_\d{3})"
pattern = ur"/images/content/\d{2}_\d{2}_\d_\d{5}_\d{3}"
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB