我已经多次尝试过这个等式。而且,我在XML中使用正则表达式来获取数字字符串的最后六个字符。
例如,字符串:ExecID=238423842394283549283523
当我说它不起作用时,我的意思是它仍然返回整个字符串而不是用后六位数替换它。
我有一个使用变量的XML文件,在该文件中是一个规则:
formattedText="$(ExecID:R/.*(/\d{6}$)/$1/)"
我的日志并没有告诉我什么。有什么建议吗?
答案 0 :(得分:0)
我对XML中的正则表达不是很熟悉,但在python中你很容易将它与
匹配R=re.compile("(.{6})$")
match=R.findall(string)[0]
请注意,如果您使用多行(re.M)编译器将“$”视为EOL而不是EOF,但是当您禁用它时它应该正常工作
答案 1 :(得分:0)
这是在perl中进行扩展的一种扩展方式,匹配在一行上,然后是替换。 Javascript非常相似。
$ExecID =~ /(\d){6}$/;
if($1) {
$ExecID = $1;
} else {
#no match?
}
可能会崩溃,但为了便于阅读,我会将其展开。