捕获的组变量在XRegexP javascript中不起作用

时间:2018-04-12 22:46:16

标签: regex xregexp

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,它确实捕获了,但是如何不保存捕获变量

1 个答案:

答案 0 :(得分: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>