回答
\u
將下一個字符變爲大寫。所以它會將您捕獲的字符串中的第一個字符改爲大寫。
因此,例如:
my $string="hello";
$string =~ s/(\w+)/\u$1/;
會給你輸出Hello
。如果你想改變所有字符爲大寫,那麼你應該嘗試
$string =~ s/(\w)/\u$1/g;
這在perlre under Escape sequences
記錄\ u大寫下一個字符(想想vi)
\u$1
允許大寫第一個特許分組模式。 See Here
\ü首字母大寫下一個字符
my $string = "stack overflow";
$string =~m/(\w+)/\u$1/g;
# Stack Overflow
的$n
變量包含在去年的正則表達式匹配的模式匹配的捕獲組如果匹配成功的字符串部分。
$string =~ s/(\w+)/\u$1/g;
在上面的例子中的字符串將與捕獲組和字符串的每個第一字代替將與大寫\u
替換。
看到這個:
my $string = 'foo bar';
$string =~ s/(\w+)/\u$1/g;
print $1, "\n";
print $string, "\n";
如果打印$1
,它會顯示捕獲組。
輸出:
bar
Foo Bar
查看所有第一個字符用大寫改變。
有關捕獲組的更多詳細信息,請參見perlrequick。
非常感謝。如果我將寫入$ 2而不是$ 1,它將打印什麼。你能否詳細說明$ n。 – user3176679
它不會打印任何東西。 __ampuring group_是第一個括號'()'是$ 1,第二個是$ 2等等。請參閱鏈接的文檔。對於更多,你可以看看[perlre](http://perldoc.perl.org/perlre.html#Warning-on-\1-Instead-of-%241)。 – serenesat
- 1. perl中的正則表達式獲取
- 2. Perl正則表達式在@
- 3. Perl正則表達式在\
- 4. 正則表達式在Perl
- 5. Ansible:使用grep和perl正則表達式的Shell命令
- 6. `w -hs`命令的Perl正則表達式匹配輸出
- 7. Perl的正則表達式
- 8. 正則表達式的命令行java
- 9. sed命令:2的正則表達式
- 10. 取代r中的正則表達式
- 11. Perl的正則表達式 - 動態正則表達式
- 12. Perl:正則表達式
- 13. Javascript/Perl正則表達式
- 14. Perl正則表達式
- 15. 正則表達式用Perl
- 16. Perl Oneliner正則表達式
- 17. 2步正則表達式在Perl中
- 18. 正則表達式grep命令爲Linux
- 19. 爲命令創建正則表達式
- 20. 殼使用正則表達式命令
- 21. 解析正則表達式命令
- 22. perl在正則表達式中的意外令牌?
- 23. 與在Perl一個正則表達式多個取代
- 24. 的Java的replaceAll(正則表達式,替換)正則表達式命令
- 25. 在Stata中提取正則表達式(正則表達式)
- 26. 將Perl正則表達式轉換爲SQL正則表達式
- 27. 將Perl正則表達式轉換爲Python正則表達式
- 28. vim中的Perl正則表達式?
- 29. Perl中變量的正則表達式
- 30. Perl中的GPA正則表達式
這裏有奇怪的switcharoo'+'vs'/ g'。對於第一種情況(OP),我更喜歡's /(\ w)/ \ u $ 1 /'; 「+」不只是無關的,它可能是浪費。對於「所有字符」的情況,我更喜歡's /(\ w +)/ \ U $ 1/g'(注意'\ U',而不是'\ u');這裏缺少'+'可能會浪費。 :) –