You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求匹配允许以数字开头的变量/函数名且排除数字字面量的正则表达式

符合要求的变量名匹配正则表达式

正则表达式

^(?!(?:\d+(?:\.\d*)?|\.\d+|0(?:[boxBOX][0-9a-fA-F]+|[0-7]+))$)[a-zA-Z0-9_]+$

详细解释

  1. 边界控制:^ 和 $ 锁定整个字符串,确保不会仅匹配目标字符串的一部分。
  2. 否定前瞻(排除数字字面量):
    • \d+(?:\.\d*)?:匹配十进制整数(如42)、带小数的数字(如6.4222、6.)
    • \.\d+:匹配以小数点开头的小数(如.42)
    • 0(?:[boxBOX][0-9a-fA-F]+|[0-7]+):匹配各类特殊进制整数:
      • 二进制:0b/0B开头+二进制数字(如0b101010)
      • 十六进制:0x/0X开头+十六进制数字(如0x2a、0X2A)
      • 八进制:包括标准0o/0O前缀形式,以及旧风格0开头+0-7数字(如052)
  3. 变量名匹配:[a-zA-Z0-9_]+ 匹配由字母、数字、下划线组成的字符串,长度至少为1。

匹配验证

以下字符串会被正确匹配:

0orange
1kiwi  
8apple
main
get_user_input
_
_callable

排除验证

以下数字字面量会被排除:

  • 十进制整数:42
  • 旧风格八进制:052
  • 小写十六进制:0x2a
  • 大写十六进制:0X2A
  • 二进制:0b101010
  • 小数:6.4222

内容的提问来源于stack exchange,提问作者Toothpick Anemone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:40:22