簡體   English   中英

JavaScript Regex:字符串中的尾隨換行符數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM