В Yahoo-Pipes, как использовать регулярные выражения, когда вы не видите непечатаемых символов и HTML-тегов? - PullRequest
2 голосов
/ 17 февраля 2010

У меня постоянно возникает проблема с попыткой извлечь данные с помощью регулярных выражений, тогда как мой результат не тот, который я хотел, потому что в строке могут быть некоторые символы новой строки, пробелы, теги html и т. Д., Но в любом случае есть что посмотреть Строка, кажется, что отладчик показывает только реальный текст. Как вы справляетесь с этим?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2010

Если содержимое строки - HTML, тогда отладчик дает вам выбор просмотра «HTML» или «Source». Источник должен показать вам любые HTML-теги, которые там есть.

Однако, если вас беспокоит пустое пространство, этого может быть недостаточно. Единственный вариант - «просмотреть исходный код» на исходной странице.

Лучший способ действий - это явно использовать эти возможности в своем регулярном выражении. Например, если вы думаете, что можете получить пробел в целевой строке, используйте шаблон \s* в критических позициях. Это будет соответствовать нулю или нескольким пробелам, символам табуляции и новым строкам (вы также должны отметить опцию «s» на панели регулярных выражений для новых строк).

Однако без конкретных примеров исходного текста и используемого вами регулярного выражения - совет может быть только общим.

0 голосов
/ 17 февраля 2010

Я использую тестер регулярных выражений (который использует тот же движок регулярных выражений, который вы используете), и я проверяю свой шаблон на нем. Я пытался использовать текстовые редакторы, которые отображают невидимые символы, но мне они только добавляют путаницы.

Так что я просто иду методом проб и ошибок. Например, если строка заканчивается на:

</a>

Затем я попробую следующие шаблоны в тестере регулярных выражений, пока не найду тот, который работает:

</a>.
</a>..
</a>\s
</a>\s*
</a>\n
</a>\r
</a>\r\n

1009 * Etc. *

...