Ich bin auf der Suche nach einem C# Regex, um ein komplettes Wort innerhalb eines Satzes zu entsprechen.Regex für ein Wort in einem Satz
mein Satz und Muster sieht so aus.
string mySentence = "There is no gain in this world without pain";
string mypattern = string.Format(@"(?:(?<=^|\s)(?=\S)|(?<=\S|^)(?=\s)){0} (?:(?<=\S)(?=\s|$)|(?<=\s)(?=\S|$))", "pain");
MatchCollection matches = Regex.Matches(mySentence, mypattern);
Ich bekomme keine Übereinstimmung mit dem obigen Muster.
Aber wenn ich dieses Muster verwende, bekomme ich eine Übereinstimmung.
string mypattern = string.Format(@"\b{0}\b", "patient");
Aber das Problem ist es Bindestrich Wort ebenso wie in-Schmerz getrennt einstimmt, wo, wie ich für ein ganzes Wort suchen.
Jede Hilfe dankbar, danke
Warten Sie, was sind die tatsächlichen Anforderungen? Passen Sie einen Suchhinweis an, der mit Whitespaces eingeschlossen ist? Oder innerhalb von Wortgrenzen, aber nicht, wenn "/" vorangestellt/gefolgt wird? –
@ WiktorStribiżew Ich suche nach einem Wort, dem Zeilenvorschub oder Whitespace folgen kann. danke – Sandepku
Ok, ich habe beide Lösungen zusammen mit einer Nicht-Regex-Datei bereitgestellt, für den Fall, dass Sie in längeren Strings nur nach Leerstellen von Text suchen müssen. –