Ответ 1
([A-Z]+|[a-z]+)
. Совместите все верхние регистры или все нижние регистры несколько раз в группе захвата. Попробуйте здесь: https://regex101.com/r/bC8gO3/1
Можно ли разделить строки в JavaScript на случай, чтобы следующая строка ниже (myString) была преобразована в массив (myArray) ниже:
var myString = "HOWtoDOthis";
var myArray = ["HOW", "to", "DO", "this"];
Я пробовал регулярное выражение ниже, но он только разбивается на camelCase:
.match(/[A-Z]*[^A-Z]+/g);
([A-Z]+|[a-z]+)
. Совместите все верхние регистры или все нижние регистры несколько раз в группе захвата. Попробуйте здесь: https://regex101.com/r/bC8gO3/1
Другой способ сделать это - добавить маркер, а затем разделить с помощью этого маркера, в данном случае двойного восклицательного знака:
var s = "HOWtoDOthis";
var t = s.replace(/((?:[A-Z]+)|([^A-Z]+))/g, '!!$&').split('!!');