我已经成功了一半。这很好用:
'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/