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?


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.