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。