Regex最后一次出现?

ego6inou  于 2023-04-13  发布在  其他
关注(0)|答案(7)|浏览(97)

我想抓住最后一个反斜杠后面的最后一部分
我需要**\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]

mwecs4sa

mwecs4sa1#

例如,您的负前瞻解决方案可能是:

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

看到它here on Regexr

hjqgdpho

hjqgdpho2#

其中一个对我有效的是:

.+(\\.+)$

Try it online!
说明:

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

hl0ma9xz3#

消极的前瞻是一个正确的答案,但它可以写得更干净:

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

它会查找\的出现,然后在一个没有匹配的检查中,它会查找任何数量的字符,后面跟着你不想看到的字符。因为它是负数,所以它只在没有找到匹配的情况下才匹配。

gab6jxml

gab6jxml4#

您可以尝试将其锚定到字符串的末尾,类似于\\[^\\]*$

o4tp2gmn

o4tp2gmn5#

那么这个正则表达式是什么呢:\\[^\\]+$

ua4mk5z4

ua4mk5z46#

如果你不想包含反斜杠,而只想包含它后面的文本,可以试试这个:([^\\]+)$或对于unix:([^\/]+)$

zi8p0yeb

zi8p0yeb7#

我使用下面的正则表达式来得到这个结果,当它由\完成时也是如此

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

[Regex Demo]

相关问题