gpt4 book ai didi

javascript - 正则表达式只返回第一场比赛?

转载 作者:行者123 更新时间:2023-11-30 12:37:12 24 4
gpt4 key购买 nike

我有一个包含很多行的文本文件,我正在过滤它们以找到我需要的内容,例如:

HBIJB LX 0359 25Aug14 07:37

这是我的正则表达式:

/(?:(HB...)\s(LX|WK)\s((?:[0-9]){1,4})\s((?:[0-9]){2}(?:[A-Z,a-z]){3}(?:[0-9]){2})\s((?:[0-9]){2}:(?:[0-9]){2}))/g

我的问题是它只返回文件中的第一个匹配项:

[ 
'HBIJB LX 0359 25Aug14 07:37',
'HBIJB',
'LX',
'0359',
'25Aug14',
'07:37',
index: 323,
input: /* Omitted */
]

响应是完美的,但为什么我只得到第一个匹配项,即使我使用了全局 /g 标志?

编辑:

我正在使用 NodeJs,脚本没什么特别的:

var regex = /(?:(HB...)\s(LX|WK)\s((?:[0-9]){1,4})\s((?:[0-9]){2}(?:[A-Z,a-z]){3}(?:[0-9]){2})\s((?:[0-9]){2}:(?:[0-9]){2}))/g
console.log(regex.exec(data));

编辑 2:

这里是我需要过滤的内容的推断。

Lorem Ipsum Ø HBIJB LX 0359 25Aug14 07:37 HBIPV LX 2092 25Aug14 09:09
Lorem Ø HBIJB LX 1404 25Aug14 09:59 HBIJB LX 1405 25Aug14 10:53

最佳答案

它对我来说很好,

> var s = "Lorem Ipsum Ø HBIJB LX 0359 25Aug14 07:37 HBIPV LX 2092 25Aug14 09:09\nLorem Ø HBIJB LX 1404 25Aug14 09:59 HBIJB LX 1405 25Aug14 10:53";
undefined
> console.log(s)
Lorem Ipsum Ø HBIJB LX 0359 25Aug14 07:37 HBIPV LX 2092 25Aug14 09:09
Lorem Ø HBIJB LX 1404 25Aug14 09:59 HBIJB LX 1405 25Aug14 10:53
undefined
> m = s.match((?:(HB...)\s(LX|WK)\s((?:[0-9]){1,4})\s((?:[0-9]){2}(?:[A-Z,a-z]){3}(?:[0-9]){2})\s((?:[0-9]){2}:(?:[0-9]){2})))
> m = s.match(/(?:(HB...)\s(LX|WK)\s((?:[0-9]){1,4})\s((?:[0-9]){2}(?:[A-Z,a-z]){3}(?:[0-9]){2})\s((?:[0-9]){2}:(?:[0-9]){2}))/g);
[ 'HBIJB LX 0359 25Aug14 07:37',
'HBIPV LX 2092 25Aug14 09:09',
'HBIJB LX 1404 25Aug14 09:59',
'HBIJB LX 1405 25Aug14 10:53' ]

关于javascript - 正则表达式只返回第一场比赛?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com