我需要匹配不包含大写字母“K”的行。字符“K”可以开始行,可以在中间,也可以是最后一个字符。我已尝试过两次否定前瞻,但当“K”开始行时,这似乎失败了。
我想保留这些内容:
Coronograph H-band / Y Direct / Non-Redundant J
但我想排除这些界限:
'Coronograph K1-band / K2 Direct / Non-Redundant K2'
我需要它在python正则表达式引擎和JavaScript正则表达式引擎中工作,所以我不能使用后视表达式。
当我尝试.*[^K]+
或.*[^K].*
之类的内容时,它仍会匹配其中带有“K”的行。
我从this question获取为什么我不能只说[^K]
并完成它。但由于我的'K'可能有或没有一个角色可以开始,我很困惑如何继续。如果我说.[^K]
或.*[^K]
,它仍会匹配'K2 Direct'。如果我说[^K].
或[^K].*
,它将匹配“K”未开始行的行。
也许我在这里抓住吸管,但在我的清单中,'K'将跟随'1'或'2'。我可以做[^K][^12]
之类的事情吗?但同样,我仍然难以置于什么样的前缀/后缀来匹配它在行中的变量位置。
答案 0 :(得分:0)
正则表达式:^[^K]*$
用于python和javascript。
这个正则表达式类似于一行(^
),只包含非大写字母K
,直到行$
的结尾。