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