正则表达式在换行符 前面有两个空格
Regex precede newline with two spaces
我有一个包含换行符的字符串('n
)。
我想让所有'n
前面有两个空格。
var str = "First line'nSecondd Line 'nThirdLine ''n";
str = str.replace(/'n/g, ' ''n')
以上有效,但每次保存时都会添加更多空间。
如果前面已经有两个空格,我怎么能不理会它?
当换行符前没有空格时替换:
var str = "First line'nSecondd Line 'nThirdLine ''n";
str = str.replace(/('S)'s{0,2}'n/g, '$1 ''n')
这个简单的正则表达式就是您所需要的:
/ {0,2}'n/g
基本上,它的工作原理是,以前"替换"的字符串在每个换行符之前已经有两个空格,因此它也捕获并替换了这些空格。
var str = "First line'nSeconnd Line 'nThirdLine ''n";
str = str.replace(/ {0,2}'n/g, ' 'n');
// str === "First line 'nSeconnd Line 'nThirdLine ''n"
看看它在这里捕获了什么,看看它在这里替换了什么。
编辑
抱歉,我之前的假设是您希望将换行符替换为两个空格,然后是另一个换行符。
我没有注意到您希望转义换行。
但是,这很容易做到:
replace(/ {0,2}'n/g, ' ''n');
只需转义反斜杠,请参阅此处的较新版本。
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- Meteor:如何使用空格键创建包含两个集合数据的树列表
- 如何在javascript中无空格地追加两个字符串
- 通过JQuery在网页上的两个字符之间放置空格
- 正则表达式在换行符 前面有两个空格
- 如何在两个连续的图像之间插入黑色空格
- 在输入中需要两个用空格分隔的单词
- 为什么 markdown 语法在 之前需要两个空格才能从中生成段落
- 用空格替换两个相同的字符
- 两个单词之间的空格
- 如何用千位分隔符解析两个空格分隔的数字
- 我想去掉两个双引号之间的逗号,并允许两个双引号之间有空格
- 在两个单词之间加一个空格
- 删除两个单词之间的空格/空格
- 我需要一个正则表达式来删除开头的空格,它应该允许两个单词之间的空格
- Javascript Regex.test():对于字符串中的两个空格(或更多),返回true
- 在RubyMine中只有两个空格的缩进