我觉得自己像个白痴,因为我花了很长时间试图找到一个可行的正则表达式。
细绳:~05276~^~0500~^~Turkey...
... 表示后面可以有无限数量的字符。我想要的是第一个没有波浪号的波浪号分隔的数字。我正在尝试从文本文件中提取一些数据,我认为如果我能理解如何做到这一点,我可以弄清楚其余的。
这是我的正则表达式:/^~([\d]+)~/
这就是我得到的:
[ '~05276~',
'05276',
index: 0,
input: '~05276~^~0500~^~Turkey...' ]
当我使用 g 运算符 ( /^~([\d]+)~/g
) 时,我只得到~05276~
,而我想要的是05726
(没有波浪号)。
我找到了一些不同的帖子和资源,但我似乎无法弄清楚为什么这不能像我预期的那样工作。这是我发现的:
Javascript regex - 如何在大括号之间获取文本
JavaScript/NodeJS 能做到这一点吗?
编辑:
这是我的代码:
lineReader.eachLine(file, function (line) {
var entry = {};
entry.id = line.match(/^~([\d]+)~/);
console.log(entry);
});
lineReader 工作正常并返回一行,如我上面的示例字符串。