我需要這樣的內容:'s/oldstr/newstr/g;pattern'
,即我想替換oldstr
並在替換後的字符串中找到pattern
。所有在一個正則表達式。Perl在一個正則表達式中搜索並替換
0
A
回答
3
如果您想先替換並在結果字符串中查找模式,則可以將兩個表達式放在一起。用/r
標誌替換將返回已更改的字符串,並且m
運算符會將該字符串與該模式進行匹配。
use Test::Simple 'no_plan'; # this is just for the ok() function
my $str = 'foobar';
ok($str =~ s/o/0/gr =~ m/\d\d/);
ok($str =~ s/o/0/gr !~ m/\d\d\d/);
__END__
ok 1
ok 2
1..2
+1
從技術上講,這是每種情況下的兩個正則表達式,但它與OP很可能會得到他想要的一樣接近。我不確定它是否贏得了可讀性的標記,但那不是你的錯。 –
+0
是的,我知道。而且我也沒有聲稱讓它可讀。 :) – simbabque
相關問題
- 1. 正則表達式 - 搜索並替換
- 2. 正則表達式搜索,並在Perl
- 3. 搜索和在Perl的正則表達式動態替換
- 4. 正則表達式搜索和替換
- 5. 正則表達式搜索替換
- 6. 正則表達式搜索和替換
- 7. 在gvim中搜索並替換正則表達式
- 8. Perl的正則表達式搜索和替換不符合
- 9. Perl正則表達式 - 搜索和替換
- 10. 正則表達式搜索並用兩個條件替換
- 11. 搜索並替換模式 - 正則表達式模式
- 12. 替換多個正則表達式到perl的正則表達式的一個
- 13. perl中的正則表達式替換
- 14. 在Visual Studio 2003下搜索並用正則表達式替換
- 15. 如何搜索與正則表達式替換,並在javascript
- 16. Perl的複雜的正則表達式搜索和替換嵌套表達式
- 17. 在Perl中搜索並打印正則表達式
- 18. 執行正則表達式替換Perl
- 19. Perl正則表達式替換
- 20. Perl - 正則表達式不被替換
- 21. 的Perl:正則表達式替換
- 22. Perl - 正則表達式替換爲負
- 23. Perl正則表達式替換?
- 24. Perl正則表達式替換
- 25. Perl正則表達式部分替換
- 26. perl正則表達式替換
- 27. Perl正則表達式替換?
- 28. 正則表達式perl替換
- 29. Perl正則表達式替換問題
- 30. PHP 5.3智能搜索並用正則表達式替換
我猜如果模式與替換無關,它是有道理的。比如,更改字符串並將結果與更復雜的模式進行匹配。用's/oldstr/newstr/g'來做 – simbabque
?沒有。 – avalanche
爲什麼在一個正則表達式?顯示完整的樣本輸入和您想要的結果? – ysth