我有这个测试字符串:
{.aa1 .b3c .f4}
我想在大括号内提取以文字点.
开头的任意数量的单词。所以我写了这个JavaScript正则表达式:
/{((?=\.\w+?)(\.\w+?)\s*?)*}/g
我基本上向前看(?=\.\w+?)
,但是如果匹配则没有被捕获,因为前瞻是零宽度,所以我捕获(\.\w+?)
,然后允许空格\s*?
的可能性,然后我将所有这些分组,并尝试通过用*
重复它来迭代。但它没有用 - regex101.com告诉我回报:
MATCH 1
1. `.f4`
2. `.f4`
..虽然我想要一系列匹配(.aa1
,.b3c
。.f4
)。我怎样才能做到这一点?