用于验证文件格式的正则表达式

时间:2018-06-25 18:19:43

标签: java python

我正在寻找正则表达式。我确实搜索了一些旧帖子,发现部分匹配。但仍在寻找剩下的一个。 我想验证以下文件目录结构,该文件目录结构仅以这种格式给出,我正在从构建属性文件中读取。 $ {abc.xyz.install.ClassDir} \ abc \ xyz \ xyz.class

  1. 我找不到任何Regex如何验证$ {abc.def.install.ClassDir}目录结构。

  2. 我发现正则表达式可以从此验证\ abc \ xyz \ xyz.class  有点像这样^(\ [a-z_A-Z \-\ s0-9 \。] +)+。(class |)$

能帮我找到正则表达式以验证$ {abc.def.install.ClassDir}

我的python正在读取此格式,最后我想将此正则表达式验证放入python中。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式:

\${(\w+)\.\w+\.install\.ClassDir}\\\1\\(\w+)\\\2\.class

(您可以try it out at regex101.com。)

在此公式中,我们使用后向引用(abcxyz)确保\1匹配并且\2匹配。 def仅使用一次,因此我们不会再次进行检查。

请注意,这是原始正则表达式。如果要在Java中使用它,则需要将其放在字符串中,这意味着转义特殊字符。在这种情况下,您需要将反斜杠加倍:

"\\${(\\w+)\\.\\w+\\.install\\.ClassDir}\\\\\\1\\\\(\\w+)\\\\\\2\\.class"

如果文件夹名称不需要匹配,请用\1替换\2\w+

\${\w+\.\w+\.install\.ClassDir}\\\w+\\\w+\\\w+\.class

您需要以相同的方式对字符串进行转义。