我有一个类似于此var date = '2016-06-18 05:18:27';
var myDate = new Date(date);
Person.findAll({
where: {
updatedAt: {
$gt: myDate,
},
},
orderBy: [['group', 'DESC']],
}).then((people) => {
// results are here
});
的Camel案例字符串,我希望使用大写字母作为分隔点拆分成数组。我期待着这个:
s = 'ThisIsASampleString'
这是我到目前为止所做的事情
['This', 'Is', 'A', 'Sample', 'String']
但这并没有给我正确的结果,因为它删除了匹配的字符。我将此数组作为结果s = "ThisIsASampleString";
var regex = new RegExp('[A-Z]',"g");
var arr = s.split(re);
。它删除了所有匹配的大写字母。
我应该如何避免这种行为并将匹配的字符保留在我的结果数组中?
答案 0 :(得分:6)
您的正则表达式将基于大写分割,但结果数组不包含匹配的值。而是使用positive look-ahead assertion断言位置。
s = "ThisIsASampleString";
var arr = s.split(/(?=[A-Z])/);
console.log(arr);

或者您可以使用String#match
方法。
s = "ThisIsASampleString";
var arr = s.match(/[A-Z][^A-Z]*/g);
console.log(arr);