[英]Regex to match mostly alphanumeric paths
我尝试创建一个正则表达式来验证使用GridFS编写的文件系统API的路径名。
我当前的RegEx ^[A-Za-z0-9\\-\\[\\]()$#_./]*$
可以满足以下条件:
az
, AZ
, 0-9
, -[]()$#_./
但是,它不满足以下附加条件:
/
/
。 问题:
不确定路径标准,但是关于RegExp,非常简单:
^\/(?!\/)([A-Za-z0-9\-\[\]()$#_.]|(\/(?!\/)))*$
\\/(?!\\/)
表示斜杠/
而不是斜杠(?!\\/)
。 我使用了两次,一次是第一个字符,再一次是第一个字符之后的可能匹配项之一。
这是解决需求的方法。 要强制使用第一个字符/
,只需在^
之后添加该字符。
^\\/[A-Za-z0-9\\-\\[\\]()$#_./]*$
要不允许连续的斜杠,应将其从字符集中删除,并将其视为路径的一部分。 部分之间用斜杠分隔。 因此,最终的正则表达式为:
^\\/([A-Za-z0-9\\-\\[\\]()$#_.]\\/?)*$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.