Thread Regular Expression tunen (14 answers)
Opened by ramseier at 2005-02-08 10:59

ramseier
 2005-02-08 10:59
#4282 #4282
User since
2005-02-08
6 Artikel
BenutzerIn
[default_avatar]
Ich habe ein Script geschrieben welches mittels wget von einem anderen Server daten holt, Quelltext ersetzt, und dann die neue Seite ausgibt.

Das funktioniert soweit ganz gut, aber die riesige Regular Expression zwingt den Server in die Knie.

Gibt es eine Möglichkeit diese RegExp performancemäßig zu optimieren?

<!- Expression Anfang ->
$body =~s/(<[Tt]+[Rr]+[a-zA-Z0-9:;&§,#%\- \?\.\"\'\=\_]*>)[\d\s]*(<[Tt]+[Dd]+[a-zA-Z0-9:;&§,#%\- \?\.\"\'\=\_]*">)(<[a-zA-Z0-9 <>=\"\':\-\.\_?%]*)(\/*)([a-zA-Z0-9\-]*)(\/*)([a-zA-Z0-9 <>=\"\':\-\.\_?%]*)(\/*)([a-zA-Z0-9 <>=\"\':\-\.\_%]*)([a-zA-Z0-9 <>=\"\':\-\.\_?%]*)([a-zA-Z0-9&=%\+\_\.\"]*>)(<[Ii]+[Mm]+[Gg]+ [Ss]+[Rr]+[Cc]+[a-zA-Z0-9:;&§,-_#% \?\.\"\'\=\_]*"">)(<[Ii]+[Mm]+[Gg]+ [Ss]+[Rr]+[Cc]+[a-zA-Z0-9:;&§,-_#% \?\.\"\'\=\_]*">)(<[\/Aa]*>)(<\/[Tt]+[Dd]+>)[\d\s]*(<[Tt]+[Dd]+[a-zA-Z0-9:;&§,-_#% \?\.\"\'\=\_]*>)[\d\s]*([&;a-zA-Z0-9]*)[\d\s]*([a-z<>A-Z0-9 :=? \"\/\-\.\_]*[&a-zA-Z=]*)([0-9]*)([0-9a-zA-Z%&=\+\"\_]*>)([a-zA-Z0-9\s\.\-\_]*)(<\/[Aa]+>)[\d\s]*(<IMG SRC="\/basis-lsupport\/webnode\/modified.gif" BORDER="0" ALT="Modified">[\d\s]*)?(<\/[Tt]+[Dd]+>)[\d\s]*(<[Tt]+[Dd]+[a-zA-Z0-9:;&§,-_#% \?\.\"\'\=\_]*>)[\d\s]*(<[a-zA-Z0-9\_\-\.\"\':= ]*[a-zA-Z0-9;,()\'\" ]*>)(<[Ii]+[Mm]+[Gg]+ [Ss]+[Rr]+[Cc]+[a-zA-Z0-9:;&§,-_#% \?\.\"\'\=\_]*">)(<\/[Aa]+>)[\d\s]*(<\/[Tt]+[Dd]+>)[\d\s]*(<[Tt]+[Dd]+[a-zA-Z0-9:;&§,-_#% \?\.\"\'\=\_]*">)([a-zA-Z0-9 ]*)([a-zA-Z0-9<> \_\-\.&;:,\/]*)[\d\s]*([a-zA-Z<> \_\-\.&;:,\/=\"\']*)([0-9:\- ]*)([a-zA-Z<> \_\-\.&;:,\/=\"\']*)[\d\s]*([a-zA-Z<> \_\-\.&;:,\/=\"\']*)/$1\n$2$3$4$5$6$7$8$9$10$11$12$13$14$15\n$16\n$17$18$19$20$21$22\n\n$23$24\n$25\n<A HREF="" ONCLICK="javascript:sendLink($19,'$9');return false"><img src="http:%5C/\/web4bizl.med.siemens.de\/llimages\/pfeil.gif" border=0 alt="Link zum CMS &uuml;bertragen"><\/a><A HREF="" ONCLICK="javascript:showLink('$19&docTitle=$9','$21');return false"><img src="http:%5C/\/web4bizl.med.siemens.de\/llimages\/punkt.gif" border=0 alt="Link anzeigen">\n$28\n$29$30$31$32\n$33$34$35\n$36$37$38/g;
<!- Expression Ende ->\n\n

<!--EDIT|ramseier|1107853222-->

View full thread Regular Expression tunen