[英]RegEx to match only a newline character with given conditions?
我有以下正則表達式:
^(?!#)(?<=.+)$\r
(設置了全局和多行標志)
我想做的是僅當換行符以“#”開頭時才匹配換行符。
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
零寬度的超前斷言考慮了“不是開頭”,但我認為您正在混淆^和$的使用(在多行模式下)
您可能想要類似
(^|\n)(?!#)(\n)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.