Guten Morgen,
ich möchte bei einer Eingabe folgendes Schema prüfen
Das ist mein Pattern dazu :
^(([a-zA-Z0-9\-]+){2,63}[\.]{0,1}){1,4}
Funktioniert soweit ganz gut
computername.domain.domain.domain=> Match
computername.domain.domain.domain.domain=> nicht gültig
computername=> Gültig
Nur jetzt mein Problem :
computername.domain.domain.domain. => Match
computername. => Match
und das darf nicht sein. Daher wollte ich einene negativen Lookahead einbauen der abfängt das ein Punkt am Ende sein darf sprich sowas :
^((?!\.)(([a-zA-Z0-9\-]+){2,63}[\.]{0,1}){1,4})
Aber das funktionier logischerweise auch nicht durch die Abfrage für den optinalen Punkt. Ich denke ich muss den Aufbau überdenken. Jedoch komme ich einfach nicht drauf. Habt ihr evtl. eine Idee?
Gruß
Alex
Du must den Lookahead HINTEN einbauen, heißt dann negativer Look Behind.
(?<!pattern)
Again what learned...
Ok das war das was ich gesucht habe :
private void textBox_Input_TextChanged(object sender, EventArgs e)
{
Match inputMatch = Regex.Match((sender as TextBox).Text.Trim(), @"^((([a-zA-Z0-9\-]+){2,63}[\.]{0,1}){1,4})(?<!\.)", RegexOptions.Singleline);
if (inputMatch.Success && (inputMatch.Value == (sender as TextBox).Text.Trim()))
{
(sender as TextBox).ForeColor = Color.Green;
}
else
{
(sender as TextBox).ForeColor = Color.Red;
}
}
Dann hab ich noch ne allgemeine Frage was RegEx angeht. Er hat in dem String :
Der komplette String (Computername.test.test.test.) ist jetzt nicht "Match" aber "Computername.test.test.test". Daher muss ich jetzt expliziert abfragen ob das Value gleich dem Inputstring ist.
Kann das irgend wie umgehen?
Gruß
Aelx
Kannst du die Frage noch mal so formulieren das ich sie auch verstehe 😃 ?
Again what learned...
hihi
Manachmal ist etwas Code evtl. besser zum erklären mich stört das hier in meiner IF-Abfrage :
(inputMatch.Value == (sender as TextBox).Text.Trim())
Sprich mein Match liefert Success obwohl der KOMPLETTE String nicht gematcht werden kann. Aber ein Teil. Daher muss ich diesen Block in die IF mit einbauen.
und ich würde nun gerne wissen ob es evtl. durch eine RegEx-Option oder ähnliches möglich wäre Abzufragen das der ganze String richtig ist.
Ich hoffe das war verständlicher läßt sich blöd in Worte fassen
Gruß
Alex
Hallo MysticEmpires,
ich würde nun gerne wissen ob es evtl. durch eine RegEx-Option oder ähnliches möglich wäre Abzufragen das der ganze String richtig ist.
verwende ^ und $, wenn der Pattern auf den gesamten Input-String passen soll.
Dann hab ich noch ne allgemeine Frage was RegEx angeht.
Und beachte in Zukunft bitte [Hinweis] Wie poste ich richtig? Punkt 1..2.
herbivore