n'importe quelle page de wikipedia : Comment puis-je trouver J'ai essayé: P > mais ici, la regex recherche le premier Je veux obtenir le top Template1 Code> S Teneur (Démarrer est
| A CODE> END est
}} CODE>) avec Java Regexes? P>
}}}} code> (qui est
template2 code>
}} code>}} code>}} code>}} code> ) alors s'arrête.
Je veux passer }} code> est n'importe quel
{{ code> est ouvert. Ensuite, je veux trouver le meilleur match parent. P>
template1 code> contenu entre le haut
{{ code> et
}} code >? >
content.replaceAll("\\s+","");
3 Réponses :
\\{\\{\\s*Template1\\s*(.*?)\\n\\}\\} ^^ Just include \n.See demo.https://regex101.com/r/uF4oY4/72
Ce n'est pas un travail lorsque la dernière ligne est | j = {{template3 | aa = kkk | bb = {{template4 | cc = uu}}}}}}
retourne: p> / ^ {{template1 (. *?) ^}} / sm code>
Ça ne fonctionne pas lorsque vous supprimez les espaces blancs lorsque vous changez de ligne vers "| J = {{template3 | aa = kkk | bb = {{template4 | cc = uu}}}}}}"
Je ne comprends pas ce que vous dites - qu'en est-il de WhitSpace?
Lorsque vous déplacez "Template1" Fermeture de la balise "}}" à la fin de "| J" Ligne Cette regex ne fonctionne pas. (Espace: lorsque vous supprimez toutes les nouvelles lignes, faites une ligne unique tout le contenu)
Cela ne fonctionne pas parce que le texte n'est pas exactement que j'ai écrit regarder à ceci: Regex101.com/r/qc6cm1/4
Vous continuez à changer la sortie du texte que vous souhaitez correspondre! S'il vous plaît décider comment cela devrait ressembler exactement.
Vous n'avez pas compris la principale question. Les pages Wikipedia sont en train de changer dynamique, il n'y a donc pas de page exactement à Wikipedia. Quelqu'un utilise WhitSpace Quelqu'un n'utilise pas. J'ai donc édité ma question. Je pense que la question est claire maintenant.
Laissez-nous Continuez cette discussion en chat .
Je pense que l'analyseur ferait mieux Jub dans ce cas, mais si vous souhaitez regex, comment de celui-ci: démo p> J'ai supposé que votre entrée est comme une ligne unique. P> P>
Cela ne fonctionne pas quand le dernier}} Déplacer vers Newline: comme: Regex101.com/r/el5fr0/3 < / a>
@Kumul et celui-ci: Demo . Il est un peu changé
Hey ça va bien. J'essaie de bugs. Si son travail sans bogue, j'accepterai la réponse. Donnez-moi un peu de temps pour les essais.
@ m.celiera Lorsque vous ajoutez de l'espace avant}}, il ne fonctionne pas: Regex101.com/r/el5fr0/5 < / a>
EMM est-il possible de s'arrêter quand dernier}}. Donc, dans les pages Wikipedia, l'utilisateur peut écrire un supplément}} comme ceci: Regex101.com/r/el5fr0/7<< a>
@Kumul Regex n'est pas efficace dans les crochets imbriqués correspondant, il ne peut pas les compter, donc je crains que ce ne soit pas possible, ni au moins une réponse ne connaisse pas.
Ok, je comprends que l'analyse du contexte est plus facile que d'écrire regex. Pouvez-vous mettre à jour votre réponse principale à votre dernière regex? Je l'accepterai bientôt si je ne trouvais pas mieux que cela.
Utilisez
jsoup code> API. Plus simple que d'écrire une regex
Il est fortement conseillé de faire appel à des expressions régulières pour analyser Markup, ou quoi que ce soit avec une grammaire hiérarchique. Utilisez votre propre analyseur ou tout produit disponible (voir le commentaire de ThelostMind).
@ThelostMind n'est pas JSOUP HTML Parser? Comment puis-je analyser "{{" avec "jsoup"
@Kumul - vous pouvez obtenir des balises et des données distinctes
Qu'est-ce qui est cohérent entre les modèles parents? Ce que j'essaie d'obtenir, c'est ce qui signifie le début d'un modèle de parent (qui est différent des modèles d'enfants). Afin de résoudre votre problème, nous devons identifier le point d'arrêt pour correspondre. Aussi, pourquoi savez-vous toute la blancheur? Comme cela peut aider à trouver un point d'arrêt ...
Ok, je pense que je comprends maintenant. En regardant les pages Wikipedia, la source est un désordre complet à lire. J'en aurayerai et je vais revenir à vous