Znaczenie \ b. Wyrażenia regularne .Net [zamknięte]

9

Microsoft ma sprytną szybką kartę referencyjną wyrażeń regularnych .Net.

Wygląda jednak na to, że zawiera \bzarówno pasujące Backspace, jak i pasujące „Na granicy słów”.

Który to jest? Czy \bnaprawdę można zrobić jedno i drugie? Jak możesz precyzyjnie określić, o co ci chodzi?

Abelenky
źródło
1
Nie jestem pewien, dlaczego zadałeś pytanie C # /. Net tutaj, gdy masz 27k na przepełnieniu stosu, gdzie to należy.
slhck
Zarówno Visual Studio IDE, jak i Powershell używają wyrażeń .Net. Natknąłem się na to pytanie w kontekście korzystania z IDE. Wyszukiwanie i edycja plików jest bardziej zadaniem SuperUser niż problemem programistycznym.
abelenky
Rozumiem dzięki. Może możesz wyjaśnić kontekst, np. Pokazać zrzut ekranu IDE lub wyjaśnić część wyszukiwania plików? Powiedziałbym, że dobrze tu zostać.
slhck

Odpowiedzi:

8

\b oznacza „granicę słów” poza klasami znaków (zwanymi także zestawami znaków) i „backspace” wewnątrz klas znaków.

Tutaj oznacza granicę słów:

\bhello\b

Tutaj oznacza to backspace

[\b]

Zobacz to odniesienie Microsoft: Ucieczka znaków w wyrażeniach regularnych .
Perl regex ma taką samą definicję dla \b.

Olivier Jacot-Descombes
źródło
Uzgodnione, na podstawie tego odniesienia: msdn.microsoft.com/en-us/library/4edbef7e(v=vs.110).aspx
Mark Allen
@ MarkAllen: Dodano link do mojego postu. Dzięki.
Olivier Jacot-Descombes
Z szybkiej kontroli LinqPad, \bjest jedyną, \[a-zA-Z]która jest zdefiniowana zarówno dla samodzielnego odwrotnego ukośnika, jak i jako klasa znaków, która zwraca inny zestaw dopasowań.
Mark Hurd