我已经成功了一半。这很好用:

'MyOwnVar'.match(/([a-z]*)([A-Z][a-z]+)/g)

结果:
["My", "Own", "Var"]

目标是提取单个单词。但是,如果我将驼峰命名法传递给它:
'myOwnVar'.match(/([a-z]*)([A-Z][a-z]+)/g)

我得到:
["myOwn", "Var"]

我无法弄清楚我做错了什么。据我所知,两组 () 应该将匹配结果存储在两个单独的数组元素中。出于某种原因,它把它们混为一谈。

最佳答案

如果我正确理解了这个问题,下面的正则表达式应该可以解决问题:

/([A-Za-z][a-z]+)/g

如果单个字符(如“mOwnVariable”中的“m”)应被视为一个单词:
/([A-Za-z][a-z]*)/g

关于javascript - 试图让正则表达式识别和提取驼峰和驼峰中的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33051404/

10-10 16:35