新线和5个新空间的正则表达式



我是javascript正则表达式的新手任何帮助或提示都将不胜感激!!我有这样的要求:\.sp number->结束当前输出行并跳过<number>垂直空格。CCD_ 3是正整数或不存在。如果<number>不存在,跳过一个空格。水平字符位置保持不变。

原文:

This is result level note five: This text is highlighted.sp 5This sentence should be displayed after 5 new lines..ceThis line should be centered.
This sentence should be on a new line.

新文本:

This is result level note five: This text is highlighted<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This sentence should be displayed after 5 new lines..ceThis line should be centered.
This sentence should be on a new line.

实施示例:

test1 = test1.replace(/\H\/g,"<b>");
test1 = test1.replace(/\N\/g,"</b>");

您可以使用一个可选的捕获组来匹配数字,并使用replace使用回调函数。

检查是否定义了组1。如果是,请将组中的数字与例如repeat组合使用以生成替换字符串。

对于演示,我使用了一条换行符作为替换。

\.sp (d+)?\

Regex演示

const regex = /\.sp (d+)?\/g;
const str = `This is result level note five: This text is highlighted\.sp 5\This sentence should be displayed after 5 new lines.\.ce\This line should be centered.
This sentence should be on a new line.
This is result level note without a number: This text is highlighted\.sp \This sentence should be displayed after 1 new lines.\.ce\This line should be centered.
This sentence should be on a new line.
`;
const result = str.replace(regex,
(_, g1) => g1 !== undefined ? "n".repeat(parseInt(g1, 10)) : "nn"
);
console.log(result);

相关内容

最新更新