2015-04-19 3 views
0

Avec toutes les questions déjà posées à ce sujet, malheureusement, je ne pouvais pas combiner toutes les informations dans un Regex de travail.Regex - Sélectionnez un lien et tout avant/après

Je suis en train d'utiliser pipes yahoo pour remplacer le contenu d'un poste RSS avec un lien qui a été précédemment contenue dans ce poste (format HTML).

Dans le poste il y a différents liens, mais un seul lien avec l'url et paramètre Je cherche. J'essaie d'extraire et .pdf fichiers, l'expression pour filetype est paresseux car il y a plus de liens vers des fichiers pdf/txt plus tard et je veux seulement le premier lien à sélectionner (d'après ce que j'ai compris, si Je ne rends pas le texte paresseux jusqu'à ce que la dernière occurence du type de fichier soit sélectionnée).

Les liens sont intégrés comme suit:

...Previous Link</a> – <a rel="nofollow" target="_blank" href="http://url.net/file/folder/filename.parameter.txt/pdf">description</a> – Next Link <a rel... 

Je dois tout le texte avant/après ce lien sélectionné parce que je remplace toute la sélection avec le réel lien simple texte. Ce que je suis venu avec à ce jour est:

((.|\n)*)(http://url.*parameter.*?(txt|pdf))((.|\n)*) 

Il fonctionne en RegExr: http://regexr.com/3argq Mais les résultats malheureusement dans l'erreur suivante lorsqu'il est mis dans les tuyaux de yahoo:

incapable de remplir regex opération

Comment dois-je procéder avant?

+0

Bonjour. Qu'est-ce que "PARAMETER" est en majuscule? Est-ce censé être dans le lien? –

+0

Je l'ai écrit en lettres majuscules pour le rendre plus visible, qui était avant que je suggère d'écrire en gras. Le lien entier est écrit en minuscules. Et oui, le paramètre est censé être dans le lien et doit donc être inclus dans le REGEX car il y a toujours deux ou plusieurs liens avec le même URL. –

Répondre

1

Vous devez échapper aux barres obliques - au lieu de // écrire \/\/

+0

Malheureusement l'erreur persiste même si j'ai appliqué les modifications recommandées. Après d'autres recherches, j'ai découvert que Yahoo Pipes est écrit en Java et certaines erreurs peuvent se produire en raison de la syntaxe Regex étant légèrement différente en Java - pourrait-il avoir quelque chose à voir avec le problème à portée de main? –