RegEx pour revenir 'href' attribut 'lien' les tags?
Im tentent de créer une regex qui ne retourne <link>
tag hrefs
Pourquoi cette regex retourner tous les hrefs y compris les <a hrefs?
(?<=<link\s+.*?)href\s*=\s*[\'\"][^\'\"]+
<link rev="stylesheet" href="idlecore-rangé.css?T_2_5_0_228" media="screen"> <a href="anotherurl">Slash Cases</a>
merci
Veuillez reformuler la question. Je ne pense pas que quiconque de comprendre votre question, tel qu'il est.
OriginalL'auteur Vince Panuccio | 2008-11-06
Vous devez vous connecter pour publier un commentaire.
Soit
ou
La principale différence est
[^<>]*?
au lieu de.*?
. C'est parce que vous ne voulez pas de poursuivre la recherche dans d'autres balises.OriginalL'auteur Markus Jarderot
Éviter lookbehind pour de tels cas simple, il suffit de faire coïncider ce que vous avez besoin, et de capturer ce que vous voulez obtenir.
J'ai eu de bons résultats avec
<link\s+[^>]*(href\s*=\s*(['"]).*?\2)
dans La Regex Entraîneur avec s et g options.OriginalL'auteur PhiLho
je suis un peu fragile sur le dos des références de moi-même, donc j'ai laissé là-bas. Cette regex:
...travaille dans mon Javascript test.
OriginalL'auteur nickf
fonctionne avec Expresso (je pense à Expresso s'exécute sur l' .NET regex-moteur). Vous pouvez même affiner encore un peu plus pour le match de clôture
'
ou"
:Peut-être votre regex moteur ne fonctionne pas avec les assertions arrières. Une solution de contournement serait
Votre match sera ensuite dans le groupe capturé 1.
OriginalL'auteur Stefan Gehrig
Ce regex saveur utilisez-vous? Perl, pour l'un, ne supporte pas la longueur de la variable lookbehind. Où c'est une option, je choisirais (édité pour mettre en œuvre la très bonne idée de MizardX):
comme une première approximation. De cette façon, le choix des guillemets ("ou ") sera mis en correspondance.
De même pour une langue sans support (de longueur variable) lookbehind:
\1 contiendra votre match.
OriginalL'auteur Tim Pietzcker