Регулярное выражение последнее вхождение?



Я пытаюсь поймать последнюю часть после последней обратной косой черты

Мне нужен Web_ERP_Assistant)



моя идея была :



C:ProjectsEnsure_SolutionAssistanceApp_WebReferencesWeb_ERP_WebServiceWeb_ERP_Assistant


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


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



[Regexer Demo]

1246   5  

5 ответов:

ваше отрицательное решение lookahead, например, будет следующим:

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

видеть здесь на Regexr

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

(\)(?!.*\)

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

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

один, который работал для меня было:

.+(\.+)$

попробуй онлайн!

объяснение:

.+     - 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

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

Comments

    Ничего не найдено.