Nie mam doświadczenia z wyrażeniami regularnymi i otrzymałem następujące wyrażenie regularne:
(\p{L}|\p{N}|_|-|\.)*
Wiem, co oznacza * i | oznacza „lub” i to \ ucieka.
Ale nie wiem, co \p{L}
i co \p{N}
oznacza. Szukałem go w Google, ale bez rezultatu ...
Czy ktoś może mi pomóc?
xml
regex
character-class
Diemauerdk
źródło
źródło
Odpowiedzi:
Źródło: regular-expressions.info
Jeśli zamierzasz dużo pracować z wyrażeniami regularnymi, sugerowałbym dodanie tej witryny do zakładek, jest to bardzo przydatne.
źródło
\p{}
, ale tak, powinien pasować.\p{L}
przez{a-zA-Z}
.{a-zA-Z}
na przykład nie dopasuje żadnego znaku akcentowanego, takiego jaké
, który jest używany w całym języku francuskim. Dlatego można je bezpiecznie wymienić tylko wtedy, gdy masz pewność, że będziesz przetwarzać tylko angielski i nic więcej.Są to skróty do właściwości Unicode (
\p{L}
dla liter Unicode,\p{N}
dla cyfr Unicode). Obsługiwane są przez .NET, Perl, Java, PCRE, XML, XPath, JGSoft, Ruby (1.9 i wyższe) i PHP ( od 5.1.0 )W każdym razie jest to bardzo dziwne wyrażenie regularne. Nie powinieneś używać alternacji, gdy wystarczyłaby klasa postaci:
źródło
\p{…}
styl sekwencji ucieczki).