Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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 Perl正则表达式替换只更改每行的第一个字母_Regex_Perl_Notepad++ - Fatal编程技术网

Regex Perl正则表达式替换只更改每行的第一个字母

Regex Perl正则表达式替换只更改每行的第一个字母,regex,perl,notepad++,Regex,Perl,Notepad++,我在做最简单的Perl正则表达式时遇到困难。它在Notepad++中工作正常,但在Perl中工作不正常 open FILE, "Something.txt"; while (<FILE>) { s/./f/; print; } 打开文件“Something.txt”; 而(){ s//f/; 印刷品; } 但是,输出仅将每行的第一个字母更改为F。当此正则表达式明确表示将每个字符更改为F时 我已经有一段时间没有使用perl了,但是尝试一下s//f/g(根据昆廷在评论中

我在做最简单的Perl正则表达式时遇到困难。它在Notepad++中工作正常,但在Perl中工作不正常

open FILE, "Something.txt";
while (<FILE>) {
   s/./f/;
    print;
}
打开文件“Something.txt”;
而(){
s//f/;
印刷品;
}

但是,输出仅将每行的第一个字母更改为F。当此正则表达式明确表示将每个字符更改为F时

我已经有一段时间没有使用perl了,但是尝试一下
s//f/g
(根据昆廷在评论中的说法,g使它成为全局的,而不是在第一次匹配后停止(谢谢))。

我已经有一段时间没有使用perl了,但是尝试一下
s//f/g
(根据昆廷在评论中的说法,g使它成为全局的,而不是在第一次匹配后停止)(谢谢))。

您需要添加
g
修饰符以使其全局化,否则它将在第一次匹配后停止

s/./f/g

您需要添加
g
修饰符以使其全局化,否则它将在第一次匹配后停止

s/./f/g

您需要将其标记为全局更改:

open FILE, "Something.txt";
while (<FILE>) {
   s/./f/g;
    print;
}
CLOSE (FILE);
打开文件“Something.txt”;
而(){
s//f/g;
印刷品;
}
关闭(文件);

您需要将其标记为全局更改:

open FILE, "Something.txt";
while (<FILE>) {
   s/./f/g;
    print;
}
CLOSE (FILE);
打开文件“Something.txt”;
而(){
s//f/g;
印刷品;
}
关闭(文件);

请参见以下示例代码:

fle:

$ cat /tmp/test
aaaa
bbbb
cccc
Perl代码(我使用
perlconsole


Perl>openfh,“参见以下示例代码:

fle:

$ cat /tmp/test
aaaa
bbbb
cccc
Perl代码(我使用
perlconsole


Perl>open FH,“行的开头应该是
s/^./g/
。全局意味着它在第一次匹配后不会停止。行的开头应该是
s/^./g/
。全局意味着它在第一次匹配后不会停止。mhhh?发生了什么事(为什么被否决?)?您测试过此代码吗?:/您似乎在代码较多但清晰度较低的情况下,重复了问题…但没有实际回答。编辑后,示例输出与我期望(编辑)代码输出的内容或询问者想要的内容不符。它也属于“发现差异解决方案”类别无法突出显示更改的内容或解释更改的原因。再次编辑以解释更改的内容。=)mhhhh?发生了什么事(为什么被否决?)?你测试过这个代码吗/你似乎有,更多的代码,但不够清晰,重复了问题…没有实际回答它。编辑后,样本输出与我期望的(编辑的)代码输出不匹配,或者询问者正在寻找的不匹配。它也属于“发现差异解决方案”的范畴,无法突出显示发生了什么变化或解释为什么。再次编辑以解释发生了什么变化。=)后面的斜杠有什么原因吗?后面的斜杠有什么原因吗?