JavaScript使用正则表达式按大写字母拆分字符串,但在一起时除外

JavaScript使用正则表达式按大写字母拆分字符串,但在一起时除外,javascript,match,Javascript,Match,我有一个功能: var header=key.match(/[A-Z][A-Z]*/g) 这将采用类似TransactionID的字符串并将其转换为事务ID 我如何使它分开,除非大写字母彼此跟随,换句话说,使其成为 是否将交易ID或DOB转换为DOB而不是D O B 我看到了注释,并尝试了一些方法,但问题是这是一个函数,它提供了一个字符串值来生成一个表头,并且被具有不同头的多个页面使用 function constructHeader(table, aligment, firstRow) {

我有一个功能: var header=key.match(/[A-Z][A-Z]*/g)

这将采用类似TransactionID的字符串并将其转换为事务ID

我如何使它分开,除非大写字母彼此跟随,换句话说,使其成为

是否将交易ID或DOB转换为DOB而不是D O B

我看到了注释,并尝试了一些方法,但问题是这是一个函数,它提供了一个字符串值来生成一个表头,并且被具有不同头的多个页面使用

 function constructHeader(table, aligment, firstRow) {
    var thead = document.createElement('thead');
    table.appendChild(thead);
    var tr = document.createElement('tr');
    for (var key in firstRow) {
       var header = key.match(/[A-Z][a-z]*/g);
       var newheader = '';
       for (var i = 0; i <= header.length; i++) {
         newheader += header[i] + ' ';
       }
    //  and so on
function-constructHeader(表、对齐、第一行){
var thead=document.createElement('thead');
表1.儿童(thead);
var tr=document.createElement('tr');
for(第一行中的var键){
var header=key.match(/[A-Z][A-Z]*/g);
var newheader='';
对于(var i=0;i您可以尝试:

key.match(/[a-z]+|[A-Z]+[a-z]*/g);
它还将与“myFakeID”一起使用


编辑:star缺少“transactionID”。匹配(/[a-z]+[a-z]+/g)但是DOB字符串呢?而不是“transactionID”。匹配(/[a-z]+[a-z]+/g),使用“DOB”。匹配(/[a-z]+[a-z]+/g)这不起作用,当我键入“DOB”时,它会占用DOB,并且仍然在控制台中创建DOB。匹配(/[a-z]+[a-z]+[a-z]+/g]),我得到“/”