#javascript #regex #conditional
#javascript #регулярное выражение #условное
Вопрос:
Как я могу создать регулярное выражение на основе JavaScript для приведенного ниже URL-адреса, которое ищет точное слово stuff
? Если слово существует, то оно ищет числовое значение, (d )
.
http://myurl.com/app/stuff/detail/file/1234
Я пробовал, почти все здесь: http://www.rexegg.com/regex-conditionals.html , но я все еще застрял.
Комментарии:
1. В регулярных выражениях javascript нет условных выражений.
2. Почему этого
//stuff/.*?/(d )/
недостаточно?3. На самом деле этого было достаточно; спасибо
Ответ №1:
Вы могли бы сделать это с помощью положительного прогноза. Javascript поддерживает позитивный прогноз. Положительный предварительный просмотр используется для проверки строки, содержащей определенную строку.
(?:.*?/(d )/.*?)?(?=bstuffb)(?:.*?/(d ).*)?
Комментарии:
1. Я не понимаю, почему вы использовали здесь lookahead, похоже, он работает и без этого. Можете ли вы объяснить?
Ответ №2:
Я считаю, что реализация регулярных выражений в Javascript не включает условные выражения.
Вы можете прочитать о доступных функциях на regular-expressions.info
Комментарии:
1. это может быть, см. Мое решение.
2. Да, но при этом используются предпросмотры регулярных выражений, а не условные выражения. Кроме того, при использовании прогнозов, я считаю
(?=stuff).*?/(d )/
, более кратким.