0

validLowToHigh = XRegExp('(?<kmHigh>[0-9]+) #capture \n\
                          (?:\\-|\\s) #dont capture\n\
                          (?<kmLow>[0-9]+) #capture','x')

如果我删除这样的名称,它会起作用

validLowToHigh = XRegExp('([0-9]+) #capture \n\
                          (?:\\-|\\s) #dont capture\n\
                          ([0-9]+) #capture','x')

但我想命名我缺少的变量?

我匹配的文本是它捕获的 1000-10000,但是它不保存捕获变量

4

1 回答 1

0

我认为它确实保存了捕获。查看XRegExp,您可以使用命名的反向引用,例如:

var validLowToHigh = XRegExp('(?<kmHigh>[0-9]+) #capture \n\
                            (?:\\-|\\s) #dont capture\n\
                            (?<kmLow>[0-9]+) #capture','x')

var result = XRegExp.exec('1000-10000', validLowToHigh);
console.log(result.kmHigh);
console.log(result.kmLow);
<script src="https://unpkg.com/xregexp/xregexp-all.js"></script>

于 2018-04-14T08:50:14.000 回答