[英]Regex: Capture Group Matching a Character That Should be Excluded
我在使用正则表达式解决方案时遇到了麻烦,我认为我的解决方案是正确的,但是匹配情况并非我所期望的那样。
有人可以帮我了解我的想法出了什么问题吗?
这是我要解决的问题,我的正则表达式以及出了什么问题:
解决的问题
我得到了一系列代表文件夹的字符串,例如:
"TopLevelFolder"
"TopLevelFolder\Parent"
"TopLevelFolder\Parent\Child"
我的目标是将它们转换为以下字符串以显示在选择列表中:
"TopLevelFolder"
"...\Parent"
"...\...\Child"
我的正则表达式
引擎:点网
语言:C#
(([^\\]+\\)+)
regex101示例:
https://regex101.com/r/zY1oM5/1
此正则表达式试图:一次或多次,找到一个或多个不是反斜杠的字符,然后再找到一个反斜杠,然后将匹配项放入捕获组。
例如,在“ TopLevel \\ Parent \\ Child”中,将“ TopLevel \\”和“ Parent \\”分别放入捕获组。
出了什么问题
在此示例中,此正则表达式返回的捕获组包括:
"TopLevel\Parent\"
"Parent\"
我认为不应捕获第一组,因为我要求最后的反斜杠之前的字符不包括反斜杠。
显然,我的期望和理解是错误的。 我在这里应该做什么?我的理解有何错误?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.