0

我试图找到一个正则表达式来合并第二行和第三行。每行后面没有空格(只有 \r\n)。我可以查找以字母开头的行,然后将它们与上面的行合并,但这会迫使我匹配第一个字母并在替换后丢失它。有办法解决吗?

10921,Experimental Violation of a Cluster State Bell Inequality,2005,0,8570,?
10922,"Capital Budgeting and Compensation with Asymmetric
Information and Moral Hazard",2000,0,19530,?
4

4 回答 4

0

通过观察您的输入

试试这个模式:

(?>[^\?])([\n]+)

用。。。来代替\s

于 2013-05-15T06:45:27.900 回答
0

尝试这个

Replace (^\d+.*)[\r\n]+(^\D+.*) with \1 \2
于 2013-05-15T04:43:19.223 回答
0

要合并第 2 行和第 3 行,您可以尝试使用匹配换行选项

(^.*?[\r\n]+.*?)[\r\n]+(.*)$

将其替换为

\1\2
于 2013-05-15T04:24:08.017 回答
0

您说:我可以查找以字母开头的行,然后将它们与上面的行合并

然后,试试这是使用多行选项的模式:

([A-Za-z])[\r\n]+([A-Za-z])

使用 Python,选项是 re.MULTILINE。使用 Java 将是 Pattern.MULTILINE。

于 2021-10-18T00:10:10.183 回答