Regex для сопоставления букв, цифр и некоторых конкретных символов? - PullRequest
6 голосов
/ 22 августа 2011

Я пытаюсь сопоставить бит URL Django, который может содержать:

_, %, &, +, 0-9, a-z, A-Z, (пробел)

Как я могу это сделать, чтобы Django сопоставлял URL-адрес в форме параметра?

(r'^(?P<chararg>\w+)/IT_NEEDS_TO_BE_HERE/(?P<intarg>\d+)', 'dest')

Ответы [ 3 ]

10 голосов
/ 22 августа 2011

Я не совсем уверен насчет% char, но регулярное выражение будет [_%&+0-9a-zA-Z ]+

5 голосов
/ 22 августа 2011

Поскольку \w означает [a-zA-Z0-9_], вы можете использовать:

[%&+ \w]+
5 голосов
/ 22 августа 2011

Я немного поиграл и получил это - [\w\+%_& ]+.

Так что (r'^(?P<chararg>\w+)/IT_NEEDS_TO_BE_HERE/(?P<intarg>\d+)', 'dest') станет

(r'^(?P<chararg>\w+)/(?P<arg>[\w\+%_& ]+)/(?P<intarg>\d+)', 'dest')

\w соответствует любым символам и цифрам слова.\+ mathces +

РЕДАКТИРОВАТЬ: \ d не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...