首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与有效JavaScript命名空间匹配的RegEx

与有效JavaScript命名空间匹配的RegEx
EN

Stack Overflow用户
提问于 2018-08-03 07:27:16
回答 1查看 113关注 0票数 0

匹配正确的任意深度JavaScript名称空间的正则表达式是什么?

有效条目

  • a
  • a.b
  • $a._b.$$c.__d
  • a_$09.b_$09.c_$09

因此,基本上,JavaScript开放名称变量由点连接,每个单独的名称可以包含a-zA-Z_$0-9,但不能以0-9开头。

无效条目

  • 1a -不能以digit
  • abc.1a开头-子名称不能以数字also
  • .a开头-不能有前导dot
  • a. -不能以点

结尾

我试过这个:^([a-z$_][a-z$_0-9]*\.?)*[^\.]$,它虽然禁止后面的.,但允许任何额外的符号在末尾,比如,,这是无效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-03 07:47:19

使用^[a-zA-Z\$\_][0-9a-zA-Z\$\_]*(\.[a-zA-Z\$\_][0-9a-zA-Z\$\_]*)*$

因为\w匹配任何单词字符(等于a-zA-Z0-9_),

所以正如@emsimpson92所说,你可以有一个简化的版本:

^[a-zA-Z\$\_][\$\w]*(\.[a-zA-Z\$\_][\$\w]*)*$

对于到目前为止@vitaly-t注释的最短版本(删除了不必要的转义),它将是:

/^[a-z$_][$\w]*(\.[a-z$_][$\w]*)*$/i

Regex Online

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51663411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档