JavaScript正则表达式匹配以点开头但不以(。

时间:2018-07-10 20:21:29

标签: javascript regex

我正在尝试为突出显示插件编写仅与JavaScript属性匹配的正则表达式。

  1. 它应该以点开头,但不能包含点
  2. 它应与包含以下内容的任何单词匹配:[_ $ A-z]
  3. 该单词不能以(

所以来自:

element.classList.add(animationClass);

仅匹配

classList

和来自:

element.classList.anotherProperty = '';

匹配

classList and anotherProperty

1 个答案:

答案 0 :(得分:1)

这里是一个正则表达式,它将执行您所描述的

(?<=\.)[_$A-z]*(?=[\s.])

Demo Here


  • (?<=\.)Positive Lookbehind,确保句点在比赛开始之前。
  • [_$A-z]*与您指定的字符匹配。

    • 注意:A-z将包括所有大小写字母以及[\]^_和`。如果只希望使用字母数字字符(A-Za-z0-9),请使用\w,如果只希望使用任何大写字母,请使用A-Za-z
  • (?=[\s.])是一个积极的前瞻,可确保我们的比赛以空格或句点结束