Буквы Regex, числа, тире и символы нижнего подчеркивания

Я не уверен, как я могу достигнуть этого выражения соответствия. В настоящее время я использую,

([A-Za-z0-9-]+)

... который соответствует буквам и числам. Я также хотел бы соответствовать на тире и символах нижнего подчеркивания в том же выражении. Кто-либо знает как?

Я хотел бы смочь соответствовать product_name и названию продукта

52
задан stema 15 April 2015 в 21:15
поделиться

3 ответа

Просто экранируйте тире, чтобы предотвратить их интерпретацию (я не думаю, что подчеркивание нужно экранировать, но это не повредит). Вы не говорите, какое регулярное выражение вы используете.

([A-Za-z0-9\-\_]+)
90
ответ дан 7 November 2019 в 09:11
поделиться

Ваше выражение уже должно совпадать с тире, потому что конечный - не будет интерпретироваться как оператор диапазона (так как диапазон не имеет конца). Чтобы также добавить подчеркивания, попробуйте:

([A-Za-z0-9_-]+)
-121--1049260-

Попробуйте использовать одну букву М. Именно это используется в примере для MonthDayPattern для японской культуры.

const string format = "{0:dd M yyyy}";
-121--3740436-

В зависимости от варианта regex вы можете сделать просто следующее:

([\w-]+)

Также, вероятно, вам не нужны скобки, если это не часть большего выражения.

11
ответ дан 7 November 2019 в 09:11
поделиться

Ваше выражение уже должно соответствовать тире, потому что конечное - не будет интерпретироваться как оператор диапазона (поскольку диапазон не имеет конца). Чтобы добавить подчеркивание, попробуйте:

([A-Za-z0-9_-]+)
21
ответ дан 7 November 2019 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: