RegEx не принимает% - PullRequest
       63

RegEx не принимает%

0 голосов
/ 14 февраля 2012

Что не так с этим набором RegEx /^[\p{L}\p{N}]+/u.Когда мой старший вошел в % с открытыми взглядами Регулярное выражение возвращает false.Мне нужно принять этот формат

% с открытым форматом
100% с открытым форматом
с открытым форматом 100%

Что мне нужно добавить в выражение?Так что он примет ввод, даже если пользователь сначала набрал % или любой специальный символ.

1 Ответ

5 голосов
/ 14 февраля 2012

Знак процента не является символом \pS.Это \pP пунктуация, как объясняется uniprops :

$ uniprops %
U+0025 ‹%› \N{PERCENT SIGN}
    \pP \p{Po}
    All Any ASCII Assigned Basic_Latin Common Zyyy Po P Gr_Base Grapheme_Base Graph GrBase Other_Punctuation Punct Pat_Syn Pattern_Syntax PatSyn POSIX_Graph POSIX_Print POSIX_Punct Print Punctuation X_POSIX_Graph X_POSIX_Print X_POSIX_Punct

Вы должны ознакомиться с общей категорией (и, возможно, сценарием) ваших любимых персонажейпринадлежать.Вот некоторый пример выходных данных из * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 101 * *

*1019*или просто добавьте нужный вам символ.Кстати, все, что хочет \pL, почти всегда также хочет \pM тоже.

...