2016-07-05 7 views
0

Heute muss entweder ein sehr schlechter Tag für mich sein, um eine Antwort auf Stack-Überlauf zu finden oder sogar Google und Jungen, den ich nach einer Antwort auf diesen wirklich gescheuert habe.Regex zu erfassen zurück Schrägstriche, Zahlen und Sonderzeichen in einem Abfrage-String

Ich habe einige IP-Adressen zu senden Abfrage-Strings wie diese Nginx

\ xB1 \ xf2 \ x08 \ xF5lN bemerkt; \ x15T- \ x06 \ x03N

Hinweis diese sind alle Schrägstriche zurück \ nicht die üblichen Schrägstriche in URLs. Beachten Sie auch die Sonderzeichen, die sie zusammen mit all dem senden.

Mein Problem versucht, einen regulären Ausdruck zu finden, die eine Abfrage-String-Muster wie das egal übereinstimmen, wie lange es ist. Ich habe einige gesehen, die 10 mal länger waren.

Nginx natürlich antwortet mit einem 400-Fehler, so dass keine Sorgen, aber ich möchte dieses Verhalten erfassen und ein Umschreiben oder etwas anderes passieren, wenn es erkannt wird.

Hoffe, dass jemand helfen kann. Meine Regex ist in den besten Zeiten rostig und mein Kopf ist heute völlig durcheinander mit der Grippe.

Antwort

1

So etwas wie das?

[\\\w+\d+\;\-]+ 

https://regex101.com/r/zD2oH8/1

+0

Das brillant ist, nehmen Sie einen Bogen. Ich weiß nicht, wie du das so schnell gemacht hast, aber ich denke, wenn du in Regex denken kannst, kannst du es fließend schreiben. Ich muss mich wirklich hinsetzen und mich auskennen, und ich werde mit diesem Beispiel beginnen und es gründlich studieren. ich gerade hinzugefügt **^** vor dem regulären Ausdruck und hob es genau auf dieser Website auf einen Test-String, wo das Muster begann und abgestimmt das gesamte Muster. Sehe ich habe schon etwas gelernt. Tausend Dank !!! – MitchellK

+1

Ihre Begrüßung :) Wenn Sie lernen wollen, Regex zu lernen - beginnen Sie damit: http://regexone.com/. Sie werden es dann 2-3 mal lösen, stackoverflow.com/questions/tagged/regex und üben. Es ist nicht schwer :) Danke für ein gutes Wort und viel Glück! –