Python :(。py文件)
我必须在java complile的同时将属性文件的路径传递到类路径中。
vmargs = {
"-DApplicationName" : "myApp",
"-Dport" : "8080",
"-DpropertyFile" : "WEB-INF/library/JARFILE-45.33.jar:/properties/somefile.property"
}
当JARFILE具有版本45.33时,上面的代码工作正常。但是我怎样才能动态地给出路径:
“ - DpropertyFile”: “WEB-INF /库/ JARFILE-(正则表达式)的.jar:/properties/somefile.property”
NB: 版本(45.33)可以是任意数量的charector。示例如下:
Beta-44.55
Beta1-33.33
7777.ee44
44.22222
答案 0 :(得分:0)
您可以使用以下
执行此操作>>> import re
>>> test = "WEB-INF/library/JARFILE-45.33.jar:/properties/somefile.property"
>>> sub = r"WEB-INF/library/JARFILE-[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.jar:/properties/somefile\.property"
>>> print(re.match(sub, test))
<_sre.SRE_Match object at 0x7fd9ab1de718>
这是重要的部分:
首先,我们需要确保使用反斜杠正确转义任何通配符(例如“。”)。
# old
"WEB-INF/library/JARFILE-45.33.jar:/properties/somefile.property"
# new
"WEB-INF/library/JARFILE-45\.33\.jar:/properties/somefile\.property"
接下来你提到它可以是任何字符,字符串或数字,所以你可以使用以下集合:
[a-zA-Z0-9]
这将匹配任何数字或任何字母a-z(大写或小写),但只匹配一个。通过在之后添加“+”,它将匹配1个或更多元素。
我们应该能够将我们的字符串与正则表达式匹配。