JavaScript正则表达式重复字符串中的元素匹配

时间:2020-05-13 22:15:06

标签: javascript regex

是的,我是新手,我在网上看过,似乎找不到以下答案,我知道这很简单。

我有一个简单的字符串,需要匹配大写字母,例如T G D ......中继器, 其次,我需要用大写字母匹配它们之间的点且没有空格,例如T.G.D ........ repeater

我有当前字符串= str.match(/ [A-Z] [A-Z] | [A-Z]。[A-Z] / g)

但这只会匹配前两个,例如 T G 我需要它与找到以下模式的任何地方匹配,例如T G D E F L ...重复一个匹配项

同样,它只会匹配T.G,但不会匹配例如 T.G 之后的任何内容。我需要匹配 T.G.D.L.T 中继器(可能以点结尾,也可能没有)

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用与字符类([. ])

中的点或空格匹配的捕获组

匹配前2个大写字母并捕获组1中的空格或点。然后(可选)使用向后引用加上首字母A-Z重复捕获的内容。

\b[A-Z]([. ])[A-Z](?:\1[A-Z])*\b
  • \b字边界
  • [A-Z]([. ])[A-Z]匹配A-Z,在与空间或.
  • 匹配的第1组中捕获
  • (?:\1[A-Z])*重复0+次以匹配其在第1组中捕获的内容,然后是A-Z
  • \b字边界

Regex demo