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