正则表达式:匹配任何组

我的文本格式如下:

(delimiter)
111111
(delimiter)
222222
(delimiter)
333333
(delimiter)

其中(定界符)是一个字符组和111111,222222,333333-一些随机文本,其中不包括(定界符)组。

有什么办法可以编写正则表达式,例如“(定界符),但没有定界符>(定界符)”?

我希望捕获这样的组:

"(delimiter)
111111
(delimiter)","(delimiter)
222222
(delimiter)","(delimiter)
333333
(delimiter)"

更具体地说, 在我的情况下,分隔符为([0-9]{1,2}[\s][A-z]+[\s][0-9]{4}[\s]) 我试图像这样使用否定前瞻:

(([0-9]{1,2}[\s][A-z]+[\s][0-9]{4}[\s])(?!([0-9]{1,2}[\s][A-z]+[\s][0-9]{4}[\s]))([0-9]{1,2}[\s][A-z]+[\s][0-9]{4}[\s]))

但这似乎对我不起作用。

fanabcdefg 回答:正则表达式:匹配任何组

您可以在字符串split()方法中使用正则表达式作为分隔符。它将返回定界符之间的所有值。

let string = `12 Dec 2019
111111
13 Dec 2019
222222
14 Dec 2019
333333
15 Dec 2019
`;

let result = string.split(/\s*[0-9]{1,2}\s[A-Z]+\s[0-9]{4}\s/i);
console.log(result);

我将[A-z]更改为[A-Z],并添加了i修饰符,使其不区分大小写。在[]周围也不需要\s

本文链接:https://www.f2er.com/2788383.html

大家都在问