regex 正则表达式匹配第n个匹配项之前的所有内容[重复]

ovfsdjhp  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(152)
    • 此问题在此处已有答案**:

Regex get nth value separated with slash(2个答案)
十小时前关门了。
我有一个regex模式用于工作目录路径。目标是获取四个正斜杠之前的所有内容。因此,永远不要超过捕获四个正斜杠之后的字符串值。
我尝试了两种方法:

[^\\].*[\\]

它获取所有值,直到一个正斜杠,例如:

C:\Users\testing\again\later

#I will grab
C:\Users\testing\again\

但是,如果前面有一个正斜杠,这将捕获它,无论它是否出现四次。我还尝试过:

(?=[\\]){4}.*[\\]

但是,这将再次获取任意数量的前导正斜杠。

pqwbnv8z

pqwbnv8z1#

^(?:[^\\]*\\){4}

会抓取第四个斜杠之前的所有内容。
^-匹配行首
(?:)-非捕获组:
[^\\]*-匹配除反斜杠外的任意数量(包括零)的字符
\\-匹配文字反斜杠
{4}-重复非捕获组4次

ddrv8njm

ddrv8njm2#

(.+)(?:\\.*){4}

将获取四个反斜杠之前的所有内容。在本例中为C:

相关问题