我有以下正则表达式来验证Windows中的路径:
^([A-Za-z]\:|\\|\.)(\\[^\\\/\:\*\?\""\<\>\|]*)+[\\]$
这很好用。路径必须以\
结尾我有另一个正则表达式,它检查给定的字符串,如果它是一个所谓的宏字符串。宏字符串的语法是:
因此我有正则表达式:
[$][\w:]+(?:[$][\w:]+[$][\w:]+)*[$]
现在我想结合两个正则表达式。
这样我就可以在路径字符串中使用宏字符串。
以下路径应该有效:
以下路径无效:
只需将正则表达式与|连接起来无效路径将被识别为有效。
我的问题也是,我如何将宏正则表达式集成到另一个中。那么它检查$ -chars之间的宏语法?
更新
宏名称必须始终在$
之间更新2:
识别哪个$属于\可以使用哪个部分
答案 0 :(得分:1)
你可以做的是使用positive lookahead (?=
断言它是一个“宏字符串”:
(?=.*[$][\w:]+(?:[$][\w:]+[$][\w:]+)*[$])
如果是,则可以使用添加部件来验证Windows中的路径。
(?=.*[$][\w:]+(?:[$][\w:]+[$][\w:]+)*[$])^([A-Za-z]\:|\\|\.)(\\[^\\\/\:\*\?\""\<\>\|]*)+[\\]$