Notepad++ 正则表达式问题 - 删除行中的数字替换为 HTML
Notepad++ Regex Issue - Remove Number in Line Replace with HTML
我是一个正则表达式新手,所以这已经进行了大量的试验和错误,但出于某种原因,我有时只能让它工作,我不确定为什么。让我布置一下我在做什么。我有一个如下所示的文本文件:
1.Some Text Here
A paragraph of words here.
2.Some More Text Here
A paragraph of words here.
我使用这段代码来查找开头带有数字的行:
^[0-9]+.([^.]*)$
然后我将其替换为:
<h2></h2>\r\r
我遇到的问题 运行 是它通常抓取以数字开头的行,但出于某种原因,它会抓取以数字开头的行及其下面的段落。因此,不是将 </h2>
放在行尾,而是放在下面段落的末尾。
我显示了所有符号以查看它是否与 carriage/line returns 有关,但每一行看起来都一样。该段落独占一行,我在每行末尾看到 CRLF。
使用 </code> 而不是 <code>
,检查 "wrap around"
在 notepad++ 5.9.3 (UNICODE)
上测试
表达式 [^.]
(即不是文字点)匹配换行符。
不要在捕获中匹配换行符:
^[0-9]+\.([^.\r\n]*)
请注意,我还转义了数字后面的点,使其匹配 文字 点(裸点匹配 any 字符) .
不确定您使用的是哪个版本的记事本++,但您的正则表达式版本适用于您的示例...我使用 6.7.9.2
我可以用下面的文字重现。请注意第 1 行的段落没有以句点结尾。
1.Some Text Here[CR][LF]
A paragraph of words here[CR][LF]
2.Some Text Here[CR][LF]
A paragraph of words here.[CR][LF]
您的正则表达式匹配以一组数字开头且不以句点结尾的任意数量的行。它可以包括不止一行。我会推荐这个正则表达式:^[0-9]+\.([^\r\n]*)\r\n
。
我是一个正则表达式新手,所以这已经进行了大量的试验和错误,但出于某种原因,我有时只能让它工作,我不确定为什么。让我布置一下我在做什么。我有一个如下所示的文本文件:
1.Some Text Here
A paragraph of words here.
2.Some More Text Here
A paragraph of words here.
我使用这段代码来查找开头带有数字的行:
^[0-9]+.([^.]*)$
然后我将其替换为:
<h2></h2>\r\r
我遇到的问题 运行 是它通常抓取以数字开头的行,但出于某种原因,它会抓取以数字开头的行及其下面的段落。因此,不是将 </h2>
放在行尾,而是放在下面段落的末尾。
我显示了所有符号以查看它是否与 carriage/line returns 有关,但每一行看起来都一样。该段落独占一行,我在每行末尾看到 CRLF。
使用 </code> 而不是 <code>
,检查 "wrap around"
在 notepad++ 5.9.3 (UNICODE)
表达式 [^.]
(即不是文字点)匹配换行符。
不要在捕获中匹配换行符:
^[0-9]+\.([^.\r\n]*)
请注意,我还转义了数字后面的点,使其匹配 文字 点(裸点匹配 any 字符) .
不确定您使用的是哪个版本的记事本++,但您的正则表达式版本适用于您的示例...我使用 6.7.9.2
我可以用下面的文字重现。请注意第 1 行的段落没有以句点结尾。
1.Some Text Here[CR][LF]
A paragraph of words here[CR][LF]
2.Some Text Here[CR][LF]
A paragraph of words here.[CR][LF]
您的正则表达式匹配以一组数字开头且不以句点结尾的任意数量的行。它可以包括不止一行。我会推荐这个正则表达式:^[0-9]+\.([^\r\n]*)\r\n
。