Regex-任何一个或多个字符后面跟一个新行和等号

Regex - any one or more character followed by one new line and equal sign

本文关键字:一个 新行 任何一 字符 Regex-      更新时间:2023-09-26

我正在制作一个开源的Markdown解析器。

我的正则表达式有点问题,因为我不是正则表达式方面的专家。

r = r.replace(/(.*)('n=$)/g, '<h1>$1</h1>');

这里我想要的是让任何一个或多个字符后面跟着'n新行,下一行将仅是=中的一个或更多。

输入为:

Hello World'n===

预期输出:

Hello World

我做过的那个,但当我有两条新的线时,它也会去掉等号。

所以,如果我有这样的

Hello World'n'n===

我应该看看这个

Hello World
===

您有一个结束锚点($),这意味着它将只匹配第一个等号后面没有其他字符。此外,看起来你希望能够匹配一个或多个等号。

我想这就是你想要的:

"Hello World'n===".replace(/(.+)'n=+/g, '<h1>$1</h1>'); // <h1>Hello World</h1>

尝试

(.+)'r'n=+
r = r.replace(/(.+)'r'n=+/g, '<h1>$1</h1>');

为了正确匹配标题,我建议也使用字符串锚的开头,即:

s.replace(/^(.+)$'r?'n={3,}/gm, '<h1>$1</h1>')

我使用^来匹配开头,使用$来匹配行结尾,再加上/m修饰符,它们将对行而不是整个主题进行操作。

然后,'r?'n将恰好产生一行结束(CRLF或LF)。最后,CCD_ 10将匹配三个或更多个等号。