如何在正则表达式中获得负面前瞻以接受更多单词

How to get negative lookahead in regex to accept more words

我正在尝试为 Splunk 获取一些数据。

来自这里:

this my line - Fine (R/S)
more date - I like this (not)
date - output (yes)

我喜欢获取从-到行尾的所有数据,但如果括号中包含notyes,则不获取括号中的数据,因此[=19中的数据=] 应该是:

Fine (R/S)
I like this
output

我试过这样的:

- (.+) (?!(not|yes))

但这给出了:

Fine
I like this
output

或者这个:

- (.+)(?!not)

给出:

Fine (R/S)
I like this (not)
output (yes)

你可以试试这个,

- ((?:(?!\((?:not|yes)\)).)*)(?=\s|$)

DEMO

- (.*?)(?=\s+\((?:not|yes)\)|$)

这将捕获所有字符,直到到达 space(yes)space(no) 或行尾。

DEMO