用于匹配组合但不仅限于大写字母的正则表达式命令

Regex command to match combinations but not only uppercase letters

是否有正则表达式命令可以匹配大写字母、小写字母、下划线、括号、数字的所有组合,但不仅限于大写字母单词或数字?

我以为我有这个:

(/\b(?![A-Z]+\b)(?![0-9]+\b)[a-zA-Z0-9_{}]+\b/)

直到我遇到:ABC{hello}_HI_HelLo

这不是一个匹配项,我希望我的正则表达式匹配这个字符串。

似乎有一些负前瞻性的东西,因为它读取“ABC”并假设它只是一个大写字母单词,所以它不匹配字符串,只有“{”之后的部分匹配。

当您在“ABC”后添加下划线时,您会得到匹配的字符串:ABC_{hello}_HI_HelLo

_{

之间有一个单词边界

您可以断言左侧 (?<!\S) 和右侧 (?!\S) 的空白边界。

模式匹配:

  • (?<!\S) 断言左侧空白边界
  • (?![A-Z]+(?!\S)) 不仅断言大写字符后跟右侧的空白边界
  • (?![0-9]+(?!\S))不仅断言数字后跟右边的空白边界
  • [a-zA-Z0-9_{}]+ 匹配 1 次或多次出现的任何所列

Regex demo