Notepad ++正则表达式问题 - 删除行替换为HTML的数字

时间:2015-07-20 15:21:37

标签: regex notepad++

我是一个正则表达式的新手,所以这是一个很多的试验和错误,但由于某种原因,我有时只能让它工作,我不知道为什么。让我来布置我正在做的事情。我有一个看起来像这样的文本文件:

$(function () {
                $('#editStartTime').datetimepicker();
            });

我使用此代码查找开头有数字的行:

1.Some Text Here  
A paragraph of words here.

2.Some More Text Here  
A paragraph of words here.

然后我用它替换它:

^[0-9]+.([^.]*)$

我遇到的问题是它通常会抓住从数字开始的行,但由于某种原因它会抓住数字和下面的段落。因此,不要将<h2>$1</h2>\r\r 放在行的末尾,而是将其放在下面段落的末尾。

我显示了所有符号,看它是否与回车/换行有关,但是一切看起来都是相同的。该段落是独立的,我在每一行的末尾都看到了CRLF。

4 个答案:

答案 0 :(得分:2)

表达式[^.](即不是文字点)与换行符匹配。

不要匹配捕获中的新行:

^[0-9]+\.([^.\r\n]*)

请注意,我还在数字后面转了一个点,使其与 literal 点匹配(裸点匹配任何字符)。

答案 1 :(得分:0)

使用\2代替$2,检查&#34;环绕&#34;
在记事本++ 5.9.3(UNICODE)上测试

答案 2 :(得分:0)

不确定你使用的是什么版本的notepad ++,但你的版本正则表达式适用于你拥有的例子...我使用6.7.9.2

答案 3 :(得分:0)

我可以使用以下文字重现。请注意,第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