需要给定正则表达式的负版本 (JS)

Negative Version of given regex needed (JS)

一次又一次的正则表达式... 请有人告诉我如何在此处使用给定的正则表达式来获得负面前瞻:https://regex101.com/r/kS6wUh/1

正则表达式如下所示:^\b[A-Z]+|_+?[A-Z]+

目标是检查给定字符串是否仅包含字符 A-Z 或 _

Invalid_TEXT (invalid)
all_in_small_invalid (invalid)
INVALID-DASH (invalid)
VALID_KEY (valid)
ANOTHER_VALID_KEY (valid)
 (empty --> invalid)

正则表达式应该匹配无效的当前 returns 有效匹配。

我不知道在我当前的版本中在哪里添加 (?!...) 因为我尝试过的所有选项都以出现正则表达式错误或计算所有内容而告终。我认为我的正则表达式没有正确的结构来进行负面前瞻。

您只需测试字符串中的一个或多个字符是否 不是集合 [A-Z_] 中的 ,这是通过插入插入符号来完成的。所以[^A-Z_]。演示

const strs = `Invalid_TEXT
all_in_small_invalid
INVALID-DASH
VALID_KEY
ANOTHER_VALID_KEY
 (empty)`.split(`\n`);
 
strs.forEach(str => console.log(str, /[^A-Z_]/.test(str) ? `Not ok` : `OK`));