匹配不包含特定字符的行
Match lines that do not contain certain character
我需要匹配不包含大写字母的行 '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]
的事情吗?但是,我仍然对放置什么样的 prefix/suffix 来匹配它在行中的可变位置感到困惑。
正则表达式:^[^K]*$
用于 python 和 javascript。
这个正则表达式类似于一行,从 (^
) 开始,只包含非大写字母 K
直到行尾 $
.
我需要匹配不包含大写字母的行 '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]
的事情吗?但是,我仍然对放置什么样的 prefix/suffix 来匹配它在行中的可变位置感到困惑。
正则表达式:^[^K]*$
用于 python 和 javascript。
这个正则表达式类似于一行,从 (^
) 开始,只包含非大写字母 K
直到行尾 $
.