Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在没有新行的情况下替换空格_Regex_Perl - Fatal编程技术网

Regex 如何在没有新行的情况下替换空格

Regex 如何在没有新行的情况下替换空格,regex,perl,Regex,Perl,我有一个文本文件,其中每行可能以一些固定的标记结尾,标记周围有空格,例如 一些文本标签 我写的是这样的: while (<FILE>) { s/\s*TAG\s*$//; print; } 有更好的办法吗 [不确定这是否相关,但操作系统是Linux] 谢谢。[^\S\n]将匹配不是换行符的空白,因此: s/\s*TAG[^\S\n]*$//; 或者你可以这样做: s/\s*TAG\s*$/\n/; 似乎只要把换行符放回去就更容易了。如果这是一行,添加-l选项将解决您的问

我有一个文本文件,其中每行可能以一些固定的标记结尾,标记周围有空格,例如

一些文本标签

我写的是这样的:

while (<FILE>) {
  s/\s*TAG\s*$//;
  print;
}
有更好的办法吗

[不确定这是否相关,但操作系统是Linux]


谢谢。

[^\S\n]
将匹配不是换行符的空白,因此:

s/\s*TAG[^\S\n]*$//;
或者你可以这样做:

s/\s*TAG\s*$/\n/;

似乎只要把换行符放回去就更容易了。如果这是一行,添加
-l
选项将解决您的问题。
s/\s*TAG\s*$/\n/;