[C#]Regex

09/24/2014 17:47 .Tobias#1
Hallo Epvp,

kann mir wer helfen?
Ich hab den Queltext einer Seite und muss einen bestimmten Teil davon als String speichern.

Diesen Teil brauche ich:
<input type="hidden" value="4c2a74dfacc40345e8049e0d94ac0fce8894119b" name="CSRF_TOKEN"/>

Der gesammte Queltext ist natürlich noch viel größer.
Die Value von dem Input Field wird aber benötigt.

Gruß

.Tobias
09/24/2014 18:02 Black Tiger ツ#2
Code:
new Regex(@"<input type="hidden" value=".*?" name="CSRF_TOKEN"/>", RegexOptions.Compiled);
09/24/2014 18:15 tolio#3
damit schafft es jeder sich grad die patterns zusammen zu klicken und in der entsprechende programmiersprache sich ausgeben zu lassen:
[Only registered and activated users can see links. Click Here To Register...]

dann muss man nicht immer andere fragen ;)
09/24/2014 18:55 .Tobias#4
Hab es so gemacht : Regex r = new Regex(@"<input type=""hidden"" value="".*?\"" name=""CSRF_TOKEN""/>", RegexOptions.IgnoreCase);

Klappt aber nicht :S
09/24/2014 19:38 Ludder231#5
DU kannst auch die ' " ' mit einem ' \" ' escapen.
Oder du nimmst GetBetween

PHP Code:
private string GetBetween(string strSourcestring strStartstring strEnd)
        {
            
int iPos 0;
            
int iEnd 0;
            
int lenStart strStart.Length;
            
string strResult null;

            
strResult string.Empty;
            
iPos strSource.IndexOf(strStart0);
            
iEnd strSource.IndexOf(strEndiPos lenStart);
            if (
iPos != -&& iEnd != -1)
            {
                
strResult strSource.Substring(iPos lenStartiEnd - (iPos lenStart));
            }
            return 
strResult;
        } 
09/25/2014 11:11 PC Jones#6
Quote:
Originally Posted by .Tobias View Post
Hab es so gemacht : Regex r = new Regex(@"<input type=""hidden"" value="".*?\"" name=""CSRF_TOKEN""/>", RegexOptions.IgnoreCase);

Klappt aber nicht :S
Du solltest schon immer schreiben was genau nicht klappt, sonst kann man dir nicht helfen ;)

Code:
string sourceCode = ""; // Hier muss dann der Quelltext zugewisen werden

Regex r = new Regex("<input type=\"hidden\" value=\"(.*?)\" name=\"CSRF_TOKEN\"/>");
string token = r.Match(sourceCode).Groups[1].Value; // Der string "token" sollte jetzt den Teil den du haben wolltest beinhalten
MessageBox.Show(token);
Hab ich jetzt ausm Kopf geschrieben, musst mal gucken ob es geht
09/25/2014 16:49 Mostey#7
[Only registered and activated users can see links. Click Here To Register...]
+
[Only registered and activated users can see links. Click Here To Register...]

Dann lernst du auch gleich, wie man Html richtig parsen tut. RE mag zwar für das bisschen da genügen aber ich denke nicht, dass das alles ist, was du extrahieren möchtest.
09/25/2014 20:35 .Tobias#8
Quote:
Originally Posted by PC Jones View Post
Du solltest schon immer schreiben was genau nicht klappt, sonst kann man dir nicht helfen ;)

Code:
string sourceCode = ""; // Hier muss dann der Quelltext zugewisen werden

Regex r = new Regex("<input type=\"hidden\" value=\"(.*?)\" name=\"CSRF_TOKEN\"/>");
string token = r.Match(sourceCode).Groups[1].Value; // Der string "token" sollte jetzt den Teil den du haben wolltest beinhalten
MessageBox.Show(token);
Hab ich jetzt ausm Kopf geschrieben, musst mal gucken ob es geht

Das hat geholfen :handsdown:

Neue Problem:

Hab diesen String : "document.cookie = "e6ed"+"="+"1762637b; " + expires;"

Brauchen nur : 1762637b als String. (e6ed und 1762637b sind immer anders!)

Krieg das mit dem Generator nicht hin.
Danke!!!
09/25/2014 20:54 tolio#9
Quote:
Originally Posted by .Tobias View Post
Krieg das mit dem Generator nicht hin.
das ist bitter.

einmal helf ich noch, aber ganz ehrlich wer es nicht schafft auf der seite grade die 5 zeilen anweisung zu lesen und am ende den code rauszukopieren dem kann man auch nicht mehr viel helfen

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
09/25/2014 21:18 .Tobias#10
Achso, so einfach ist O.o danke klappt :D