Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 是否可以(或正常)使用正则表达式检查八进制数是否在范围内?_Regex_Xsd - Fatal编程技术网

Regex 是否可以(或正常)使用正则表达式检查八进制数是否在范围内?

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

我必须检查表示八进制数的给定XML元素的内容是否在0-776范围内

是否只有使用正则表达式才能获得此结果?我试过很多方法,但不知怎的,有些案件没有得到处理。我找不到一个表达式与7和54327匹配,而与77777不匹配


你还有什么建议

这个正则表达式可以工作,但到目前为止,我只能在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