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.