[英]JavaScript Regex: Number of trailing newlines in a string
我正在嘗試查找字符串中的尾隨換行符的數量。 請考慮以下示例:
var foo = 'bar \n fooo \n \n \n';
對於foo
我應該回到3,這意味着它不會計算bar和fooo之間的換行符。
我現在正在做的方式是匹配所有尾隨空格/\\s*$.
然后將/\\n/g
與結果匹配以獲得確切的數字。 雖然這有效,但我想知道是否有辦法只使用一個正則表達式。 謝謝你的幫助!
PS
假設所有換行都標准化為\\n
。
(\\ S * \\ n \\ S *)+ $
\\ s *匹配零個或多個空格
'你的字符串'。匹配(/(\\ s * \\ n \\ s *)+ $ / g)。length;
您可以使用/\\s+$/
來查找所有尾隨空格,然后計算該字符串中找到的\\n
數。
例如:
var foo = 'bar \n fooo \n \n \n';
var trailingLines = foo .match(/\s+$/)[0].split('\n').length - 1;
或者,您可以在這樣的模式中使用前瞻:
/\n(?=\s*$)/g
這將匹配任何\\n
后跟零個或多個空格字符和字符串結尾。
例如:
var foo = 'bar \n fooo \n \n \n';
var trailingLines = foo.match(/\n(?=\s*$)/g).length;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.