regex - 这个替换有什么问题?

标签 regex perl substitution

#!/usr/bin/perl

use strict;
use warnings;

my $s = "sad day
 Good day
 May be Bad Day 
 ";

$s =~ s/\w+ \w+/_/gm;

print $s;

我试图用 _ 替换单词之间的所有空格,但它不起作用。这有什么问题?

最佳答案

替换用下划线替换整个单词 (\w+) 然后是空格,然后是另一个单词。

真的没有必要替换(或捕获重要的)这些词

$a=~s/\b +\b/_/gm;

将替换分词符(\b,单词和非单词之间的零宽度转换)后跟一个或多个空格,然后是另一个分词符,下划线。使用 \b 可确保您不会替换新行之后或之前的空格。

关于regex - 这个替换有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957630/

相关文章:

python - 从字符串中删除所有换行符

perl - 区分perl中的字符串和数字参数

perl,使用 IO::Select 和 IO::Socket::INET 读取阻塞

regex - 向符合某些条件的数字添加常量

ruby - 如何在 gsub 中将数字与正则表达式匹配并插入一个值?

multithreading - 如何在 Perl 线程中使用数组引用?

shell - Bourne Shell 中是否有像 Bash 中那样的进程替换?

excel - 将我的 Excel 数据集中的所有连字符更改为点

java - 近似正则表达式等价

javascript - 从正则表达式模式过滤结果