Подтвердить что ты не робот

Regex Последнее появление?

Я пытаюсь поймать последнюю часть после последней обратной косой черты
Мне нужен \Web_ERP_Assistant\)

Моя идея:

C:\Projects\Ensure_Solution\Assistance\App_WebReferences\Web_ERP_WebService\Web_ERP_Assistant


\\.+?(?!\\)      //  I know there is something with negative look -ahead `(?!\\)`

Но я не могу его найти.

[Regexer Demo]

4b9b3361

Ответ 1

Ваше отрицательное решение может быть, например, будь это:

\\(?:.(?!\\))+$

Смотрите здесь, в Regexr

Ответ 2

Отрицательный взгляд вперед - правильный ответ, но его можно написать более чисто:

(\\)(?!.*\\)

Это ищет появление \, а затем в чеке, который не соответствует, он ищет любое количество символов, за которым следует символ, который вы не хотите видеть после него. Поскольку он отрицательный, он соответствует только если он не находит соответствия.

Ответ 3

Вы можете попробовать привязать его к концу строки, что-то вроде \\[^\\]*$. Хотя я не уверен, что абсолютно необходимо использовать regexp для задачи.

Ответ 4

Тот, который работал у меня, был:

.+(\\.+)$

Попробуйте прямо сейчас!

Пояснение:

.+     - any character except newline
(      - create a group
 \\.+   - match a backslash, and any characters after it
)      - end group
$      - this all has to happen at the end of the string

Ответ 5

Как насчет этого регулярного выражения: \\[^\\]+$

Ответ 6

Я использовал ниже regex, чтобы получить этот результат также, когда его закончил с помощью \

(\\[^\\]+)\\?$

[Regex Demo]