#regex
#регулярное выражение
Вопрос:
Как я могу сопоставить строку, которая не заканчивается /
. Я знаю, что могу это сделать, //$/
и оно будет соответствовать, если строка заканчивается на /
, но как я могу проверить, не так ли это?
Комментарии:
1. Вы также можете просто проверить, является ли последний символ строки косой чертой или нет … с помощью обычных функций обработки строк. В JavaScript:
str.charAt(str.length-1) !== '/'
.2. @Nikolay: Пожалуйста, вознаградите людей, которые помогали вам в прошлом, и примите ответы на ваши старые вопросы. Спасибо.
Ответ №1:
Вы можете использовать класс отрицательных символов:
/[^/]$/
Однако для этого требуется, чтобы строка содержала хотя бы один символ. Если вы также хотите разрешить пустую строку, вы можете использовать чередование:
/[^/]$|^$/
Другой подход заключается в использовании отрицательного внешнего вида, но обратите внимание, что многие популярные движки регулярных выражений не поддерживают внешний вид:
/(?<!/)$/
Ответ №2:
Вы можете сказать «не характер», делая [^...]
это. В этом случае вы можете сказать «не делать обратную косую черту».: /[^/]$/
Ответ №3:
[^/]$
^
отрицает любое выражение символьного класса.
Комментарии:
1. Я бы хотел увидеть эти переговоры 🙂
2. Возможно, отрицание? @TimPietzcker 🙂