Perl 正则表达式将多行转换为单行

Perl regex transform multiline to a single line

我在将多行字符串转换为单行字符串时遇到了一些问题。

我有这样的字符串:

#66 = B_SPLINE_CURVE_WITH_KNOTS ( 'NONE', 3,
 ( #62, #61, #105, #104, #103, #102, #101, #100, #99, #98 ),
 .UNSPECIFIED., .F., .F.,
 ( 4, 3, 3, 4 ),
 ( 7.785145389033986000E-018, 0.0001260065739121398800, 0.0001891785121403045300, 0.0002523514299847038200 ),
 .UNSPECIFIED. ) ;

但我需要它作为一整行。

这是我试过的:

/^#[0-9].*;)$/s/

我正在尝试做的事情:

#[0-9]

这里指向#66#[0-9] 的原因是它需要动态。

.*

这指向 ;

之间的所有内容
;

这指向行尾。但不幸的是它不起作用。

我现在的正则表达式:

/([^\n]*)\n* /g

这样做:

([^\n]*)\n* /g

只捕获除换行符以外的所有内容,直到每行遇到换行符。

然后替换为捕获的组

Demo

不清楚你在问什么。我想你是在问如何从字符串中删除换行符。这可以通过以下方式实现:

$str =~ s/\n//g;