Ich versuche, Bilder Informationen aus einem Wiki zu bekommen, habe ich eine funktionierende Regex, aber ich scheitere, wenn die Beschreibung auch Markdown hat.Noch eine Regex. Bild von Markdown bekommen, abgehört, wenn Markdown innerhalb
Format der Bilder auf Abschlag:
//[[Image:WilliamGodwin.jpg|thumb|right|150px|William Godwin]]
//[[Image:JohannMost.jpg|left|150px|thumb|[[Johann Most]] was an outspoken advocate of violence]]
//[[Image:CNT-armoured-car-factory.jpg|right|thumb|270px|[[Spain]], [[1936]]. Members of the [[CNT]] construct [[armoured car]]s to fight against the [[fascist]]s in one of the [[collectivisation|collectivised]] factories.]]
[[Image:CNT_tu_votar_y_ellos_deciden.jpg|thumb|175px|CNT propaganda from April 2004. Reads: Don't let the politicians rule our lives/ You vote and they decide/ Don't allow it/ Unity, Action, Self-management.]]
[[Image:Flag of Anarcho syndicalism.svg|thumb|175px|The red-and-black flag, coming from the experience of anarchists in the labour movement, is particularly associated with anarcho-syndicalism.]]
[[Image:LeoTolstoy.jpg|thumb|150px|[[Leo Tolstoy|Leo Tolstoy]] 1828-1910]]
{{Hauptartikel | [[Christian Anarchismus]] und [[Anarchismus und Religion]]}}
Hier ist die versucht: https://regex101.com/r/pD6nF8/1
Ich versuche so etwas wie:
// \[\[Image:(.*?)\|(.*?)\|(.*?)\|(.*?)\|\[*(.*?)\|*(.*?)\]*
$re = "/\\[\\[Image:(.*?)\\|(.*?)\\|(.*?)\\|(.*?)\\|\\[*(.*?)\\|*(.*?)\\]*/i";
Es sollte 14 für diesen Test finden aber ich bekomme 11 so weit, oder wenn ich die 14 bekomme, bekomme ich auch ein paar Geräusche wie]] oder nur Teile der Beschreibung ...
Wie kann ich den optionalen Fall einbeziehen, so etwas zu haben? (. *?)]] im letzten Teil?
Immer Regex-Fragen benötigen einige Beispiele und erwartete Ausgaben. – Shafizadeh
Folgen Sie dem Link auf Regex101, erwartete 14 Links von Bildern, ich kann nur 11 richtig erhalten. Ich habe hier nur die paar für die faulen Leute geschrieben – Cristo
Ich denke, man kann sich nur auf etwas wie ['(\ [\ [Bild: | (?! ^) \ G) \ |? (. *?) Verlassen (? = \ ||]]) '] (https://regex101.com/r/gA7rQ3/3) und füge Logik hinzu, um die Übereinstimmungen in Blöcke zu trennen. Oder [ordnen Sie die Blöcke mit '\ [\ [Image: (. *?) (? =]])'] (Https://regex101.com/r/gA7rQ3/2) zu und teilen Sie sie dann auf. –