我有以下RegEx:
^(?!#)(?<=.+)$\r
(设置了全局和多行标志)
我想要做的事情是在结束不以'#'开头的行时匹配换行符 。
答案 0 :(得分:1)
function doSplit(input){
var newl=String.fromCharCode(13)+String.fromCharCode(10); //make a newline
var str = sInput.value.split(/\n/); //split on newlines
for (var i=0,iMax=str.length; i<iMax; i++){ //loop through
//if it starts # add a newline
if (str[i][0]=='#') {str[i]+=newl;}
};
return str.join(''); //join it back up
}
当然这实际上会在最后添加一个不存在的换行符(如果最后一行以#开头),那么更改循环以避免这种情况... ...
for (var i=0,iMax=str.length-1; i<iMax; i++){ //loop through
答案 1 :(得分:0)
零宽度前瞻断言关注“不开始”,但我认为你混淆了^和$的使用(在多线模式下)
你可能想要像
这样的东西(^|\n)(?!#)(\n)