alex5e
@alex5e

Как извлечь числовой идентификатор из текста?

Здравствуйте. Подскажите пожалуйста
1) Как составить регулярное выражение для извлечения id из привлеченного ниже куска кода, т.е. число между id и , (запятой) ?
2) Есть ли в python функция для извлечение подстроки между заданными символами (без использования регулярных выражений) ?
title>Фотографии с моей страницы | 2 фотографии</title>

<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

<script type="text/javascript">
var vk = {
  ads_rotate_interval: 120000,
  al: parseInt('4') || 4,
  id: 176488567,              // Искомое число
  intnat: '' ? true : false,
  host: 'vk.com',
  lang: 0,
  • Вопрос задан
  • 2841 просмотр
Решения вопроса 1
@dag05ru
насчет первой части вопроса вот пример:
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import re

text = '''
title>Фотографии с моей страницы | 2 фотографии</title>

<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

<script type="text/javascript">
var vk = {
  ads_rotate_interval: 120000,
  al: parseInt('4') || 4,
  id: 176488567,              // Искомое число
  intnat: '' ? true : false,
  host: 'vk.com',
  lang: 0,
'''

t = r"id:\D*(\d+),"
results = re.search(t,text).groups()
print results


насчет второй, можно самому такую функцию накидать
id1 = text.index("id: ")
id2 = text.index(",",id1)
print text[id1:id2]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
www.regexr.com/39589
Для надежности неплохо еще и привязать к началу и концу строки.
Для извлечения подстроки между указанными символами, собственно, регулярные выражения лучше всего и подходят.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы