我正在尝试匹配可能包含空格的路径,因此输入引号:
\-inputfile\s*=\s*'?(.*?)(?=\/|\s|'|\||$)
我基本上想匹配以-inputfile =开头的字符串,后跟''之间的路径,如果找到/,|或空格或行尾,则停止匹配。
如果路径以'开头,我不确定如何指定帽子,然后允许空格,然后匹配应在下一个'处停止。
正则表达式示例为here。
如果我正确地从您的正则表达式示例中了解,您希望检测以下所有情况:
-inputFile=path/without/space
-inputFile='path with/space'
-inputFile='path/with/single/quotation
您可以使用:
\-inputfile=(('.*')|([^\s]*))
更多信息:
('.*')
部分匹配单引号(')之间的所有字符,([^\s]*)
部分匹配除空格之外的所有字符。您需要在([^\s]*)
部分之前指定它以检测3.出现。