拆分JS字符串正则表达式大写,后跟小写

时间:2018-07-09 10:14:16

标签: javascript regex string ecmascript-2018

我有很长的javascript变量文章,我尝试将其拆分成小写字符后紧跟大写的地方

使用我尝试过的正则表达式:

tsc

但只能在每个单词上分开

3 个答案:

答案 0 :(得分:1)

由于您的JS环境符合ECMAScript 2018(请参见what regex features it supports),因此您可以使用lookbehinds

.split(/(?<=[a-z])(?=[A-Z])/)

(?<=[a-z])模式是一种向后搜索,需要在当前位置的左侧紧跟一个数字,(?=[A-Z])是一个正向搜索,需要在当前位置的右侧紧靠一个数字。

请参见regex demo

答案 1 :(得分:0)

var article2 = "SplitJavaScriptString";

// you are doing this (include Small case & Upper case)
console.log(article2.split(/(?=[A-Z][a-z])/)); 

// is this what you want (exclude Small case & Upper case)
console.log(article2.split(/[A-Z][a-z]/).filter(e => e != '')); 

答案 2 :(得分:0)

“如果小写字母后跟大写字母,则需要

.split(/(?<=[a-z])(?=[A-Z])/), 

,但仅适用于符合ECMAScript 2018的Chrome和Node.JS。”

–威克多·斯特里比耶(