Regex 是否可以(或正常)使用正则表达式检查八进制数是否在范围内?
我必须检查表示八进制数的给定XML元素的内容是否在0-776范围内 是否只有使用正则表达式才能获得此结果?我试过很多方法,但不知怎的,有些案件没有得到处理。我找不到一个表达式与7和54327匹配,而与77777不匹配Regex 是否可以(或正常)使用正则表达式检查八进制数是否在范围内?,regex,xsd,Regex,Xsd,我必须检查表示八进制数的给定XML元素的内容是否在0-776范围内 是否只有使用正则表达式才能获得此结果?我试过很多方法,但不知怎的,有些案件没有得到处理。我找不到一个表达式与7和54327匹配,而与77777不匹配 你还有什么建议 这个正则表达式可以工作,但到目前为止,我只能在perl中使用它。希望您使用的任何引擎都能支持它: ^([0-7]{0,4}|[0-7]{4}(?非常感谢它起作用了。我只需要逃离“ sub verify { $num = shift; if ($num
你还有什么建议 这个正则表达式可以工作,但到目前为止,我只能在perl中使用它。希望您使用的任何引擎都能支持它:
^([0-7]{0,4}|[0-7]{4}(?非常感谢它起作用了。我只需要逃离“
sub verify {
$num = shift;
if ($num =~ m/^([0-7]{0,4}|[0-7]{4}(?(?<=^7777)[0-6]|[0-7]))$/) {
print "$num: yes\n";
}
else { print "$num: no\n"; }
}
@nums = ("54327","7","77776","77777","77774");
foreach (@nums) {
verify $_;
}
54327: yes
7: yes
77776: yes
77777: no
77774: yes