C# 正则表达式匹配文件路径(带或不带空格)
我正在尝试匹配可能包含空格的路径,因此输入引号:C# 正则表达式匹配文件路径(带或不带空格),c#,regex,C#,Regex,我正在尝试匹配可能包含空格的路径,因此输入引号: \-inputfile\s*=\s*'?(.*?)(?=\/|\s|'|\||$) 我基本上希望匹配一个以-inputfile=开头的字符串,后跟一个介于“”与否之间的路径,如果找到/、|或空格或行尾,则停止匹配 我不知道如何指定hat,如果路径以“那么允许空格,然后匹配应该在下一个”开头 正则表达式示例为。如果我从您的正则表达式示例中正确理解,您希望检测以下所有事件: -inputFile=path/without/space -inputF
\-inputfile\s*=\s*'?(.*?)(?=\/|\s|'|\||$)
我基本上希望匹配一个以-inputfile=开头的字符串,后跟一个介于“”与否之间的路径,如果找到/、|或空格或行尾,则停止匹配
我不知道如何指定hat,如果路径以“那么允许空格,然后匹配应该在下一个”开头
正则表达式示例为。如果我从您的正则表达式示例中正确理解,您希望检测以下所有事件:
-inputFile=path/without/space
-inputFile='path with/space'
-inputFile='path/with/single/quote
\-inputfile=(('.'.')|([^\s]*))
更多信息:
('.')
部分匹配单引号(')之间的所有字符,([^\s]*)
部分将匹配除空格以外的所有字符。您需要在([^\s]*)
部分之前指定它,以便检测3。发生
更多信息:
如果您不希望正则表达式与3匹配。事件(我写这篇文章是因为它是一件奇怪的事情)您可以简单地向排除的部分添加一个引号,如下所示:
\-inputfile=(('.'')|([^'\s]*))
4您在示例中提供的案例,哪一个是有效的?案例1和案例2?真糟糕!万分感谢!事实上,我不想捕捉3。