Regex匹配文件路径,带或不带空格

问题描述 投票:1回答:1

我正在尝试匹配可能包含空格的路径,因此输入引号:

\-inputfile\s*=\s*'?(.*?)(?=\/|\s|'|\||$)

我基本上想匹配以-inputfile =开头的字符串,后跟''之间的路径,如果找到/,|或空格或行尾,则停止匹配。

如果路径以'开头,我不确定如何指定帽子,然后允许空格,然后匹配应在下一个'处停止。

正则表达式示例为here

c# regex
1个回答
2
投票

如果我正确地从您的正则表达式示例中了解,您希望检测以下所有情况:

  1. -inputFile=path/without/space
  2. -inputFile='path with/space'
  3. -inputFile='path/with/single/quotation

您可以使用:

\-inputfile=(('.*')|([^\s]*))

更多信息:]

('.*')部分匹配单引号(')之间的所有字符,([^\s]*)部分匹配除空格之外的所有字符。您需要在([^\s]*)部分之前指定它以检测3.出现。

更多信息:

如果您不希望正则表达式与3.匹配(我正在编写它是因为要检测它是一件很奇怪的事情),您可以像这样简单地在排除的部分添加单引号:

\-inputfile=(('.*')|([^'\s]*))
© www.soinside.com 2019 - 2024. All rights reserved.