Bedeutung von \ b in .Net Regular Expressions [geschlossen]

9

Microsoft hat eine raffinierte Kurzreferenzkarte für .Net Regular Expressions.

Aber es scheint \bsowohl als übereinstimmende Rücktaste als auch als übereinstimmende "An Wortgrenze" aufzulisten.

Welches ist es? Kann man \bwirklich beides? Wie können Sie genau sagen, welche Sie meinen?

abelenky
quelle
1
Ich bin mir nicht sicher, warum Sie hier eine C # /. Net-Frage gestellt haben, wenn Sie 27k auf Stack Overflow haben, wo dies aktuell hingehört.
Slhck
Die Visual Studio IDE und Powershell verwenden beide .Net-Ausdrücke. Ich bin auf diese Frage im Zusammenhang mit der Verwendung der IDE gestoßen. Das Suchen und Bearbeiten von Dateien ist eher eine SuperUser-Aufgabe als ein Programmierproblem.
Abelenky
Ich verstehe, danke. Vielleicht können Sie den Kontext klären, z. B. einen Screenshot der IDE anzeigen oder den Teil der Suchdateien erläutern? Dann würde ich sagen, es ist in Ordnung, hier zu bleiben.
Slhck

Antworten:

8

\b bedeutet "Wortgrenze" außerhalb von Zeichenklassen (auch Zeichensätze genannt) und "Rücktaste" innerhalb von Zeichenklassen.

Hier bedeutet es eine Wortgrenze:

\bhello\b

Hier bedeutet es eine Rücktaste

[\b]

Siehe diese Microsoft-Referenz: Zeichen-Escapes in regulären Ausdrücken .
PERL Regex hat die gleiche Definition für \b.

Olivier Jacot-Descombes
quelle
Einverstanden, gemäß dieser Referenz: msdn.microsoft.com/en-us/library/4edbef7e(v=vs.110).aspx
Mark Allen
@ MarkAllen: Deinen Link zu meinem Beitrag hinzugefügt. Vielen Dank.
Olivier Jacot-Descombes
Nach einer schnellen LinqPad-Prüfung \bist dies die einzige \[a-zA-Z], die sowohl für einen eigenständigen Backslash als auch für eine Zeichenklasse definiert ist, die einen anderen Übereinstimmungssatz zurückgibt.
Mark Hurd