這個問題與我昨天問過的一個問題有關。我是Perl的新手,並且仍然掌握着很多東西*。在代碼中,我試圖用撇號替換正確的單引號。但是,我不想用單引號來替換正確的單引號。一個例子是:關於Perl Regexes的查詢
He said the movie was 'magnificent.'
這裏是我目前正在使用的代碼:
#!/usr/bin/perl
use strict;
use warnings;
# Subroutine prototype
sub problem_character();
my $previousPosition=0;
my $currentPosition=0;
#Locates problematic apostrophes and replaces them with properly encoded apostrophes
sub problem_character(){
while($_[0]=~m/\x{2019}/g){
$currentPosition=pos($_[0]);
pos($_[0])=$previousPosition;
unless(....){
$_[0]=~s/\x{2019}/\x{0027}/g;
}
$previousPosition=$currentPosition;
}
}
首先,我不知道我會放在除非檢查。我希望能夠檢查匹配的正確單引號是否是單引號單詞的一部分。另外,在Perl文檔中,pos函數是最後一次搜索的最後一個m//q
偏移量。替換搜索是否也屬於這一類別?最後,有沒有更簡單的方法來編寫這種類型的代碼?謝謝。
*有人知道我可以拿起一本好書,詳細解釋危險嗎?我發現在線資源相當混亂。
我找到了「學習Perl的」非常有益的,當我開始使用Perl。 – toolic
我使用了Perl Docs,StackOverflow,只是這一個教程:http://qntm.org/files/perl/perl.html,我想我很快學會了這一點。 – chilemagic
查看O'Reilly&Associates發佈的所有Perl書籍。 _編程Perl_是我從20年前學到的。 – Barmar