HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Substituição da corda no Perl |
Junto com identificar o Perl regular das expressões pode fazer as substituições baseadas naqueles fósforos.
|
Isto é feito usando a função de “s” que foi projetada imitar a maneira que a substituição é feita no editor de texto vi. O operador do fósforo é feito aqui outra vez usado, e se for omitida então a substituição é suposta outra vez para ter ocorrido com o $_ variável.
Para substituir de Londres por Londres na corda $sntnce nós usamos a seguinte expressão
|
$sntnce =~ s/london/London/
and to do the same thing with the $_ variable just
s/london/London/
|
|
Observar que ambas as expressões regulares (Londres e Londres) estão cercadas por um total de três slashes. O número das substituições feitas é o resultado desta expressão, assim que qualquer um é 0 (falso) ou 1 (verdadeiro) neste caso.
|
Opções do Perl
|
O seguinte exemplo substitui somente a primeira ocorrência da corda, e pode haver mais de uma tal corda que nós queremos substituir. O último slash é seguido por “g” para fazer como segue uma substituição global.
|
s/london/London/g
If we want to also replace occurrences of lOndon, lonDON, LoNDoN and so on then we could
use
s/[Ll][Oo][Nn][Dd][Oo][Nn]/London/g
but an easier way is to use the i option (for "ignore case"). The expression
s/london/London/gi
will make a global substitution ignoring case. The i option is also used in the
basic /.../ regular expression match.
|
|
Recordando testes padrões
|
Será útil se nós recordarmos os testes padrões que estiveram combinados de modo que pudessem ser usados outra vez no futuro. Acontece apenas que qualquer coisa que começa combinado nos parênteses está recordado nas variáveis $1,…, $9. Usando o especial RE os códigos \ 1,…, \ 9 estas cordas pode também ser usado na mesma expressão regular (ou na substituição). deixar-nos cosider por exemplo:
|
$_ = "Lord Whopper of Fibbing";
s/([A-Z])/:\1:/g;
print "$_\n";
|
|
Substituirá cada letra caixa por aquelas letras cercadas por dois pontos. Imprimirá: L: ord: W: funil de: F: ibbing. Todas as variáveis de $1,…, $9 são variáveis de leitura apenas; conseqüentemente você não pode alterá-los você mesmo
|
Cosider o seguinte exemplo.
|
if (/(\b.+\b) \1/)
{
print "Found $1 repeated\n";
}
|
|
Isto identificará algumas das palavras que são repetidas. Cada um \ b representa um limite de palavra e. + combina algumas das cordas non-empty, assim \ b.+ \ b combina qualquer coisa entre dois limites de palavra. Isto é recordado então por parênteses e para expressões armazenado como regular \ 1 e para o descanso do programa como $1.
|
A seguinte linha troca os primeiros e últimos caráteres de uma linha em um $ variável _:
|
|
O começo e a extremidade da linha são combinados pelo ^ e pelo $. O primeiro caráter é em armazenado \ 1 código, tudo mais até o último caráter é armazenado no código \ 2. qual é armazenado no código \ 3. Então a linha inteira é com substituído \ 3 e \ 1 trocada round.
|
Depois que um fósforo é encontrado, você pode usar o `de $ das variáveis e o $& e o $ ' que é variável de leitura apenas especial para encontrar para fora o que foi combinado antes, durante e após a busca.
|
$_ = "Lord Whopper of Fibbing";
/pp/;
|
|
Todas as seguintes indicações são verdadeiras. (Recordar que o eq é um teste da corda-igualdade.)
|
$` eq "Lord Wo";
$& eq "pp";
$' eq "er of Fibbing";
|
|
No assunto de recordar testes padrões é também worth saber isso dentro dos slashes de um fósforo ou as variáveis de uma substituição interpolated.
|
$search = "the";
s/$search/xxx/g;
|
|
Esta linha substituirá xxx com cada ocorrência do “”. Se você desejar substituir cada occurence de “lá” então você não pode fazer aquele que usa s/$searchre/xxx/, porque este interpolated como um “$searchre variável”. Para este você deve pôr os nomes variáveis nas cintas curly de modo que o código se torne:
|
$search = "the";
s/${search}re/xxx/;
|
|
Tradução no Perl
|
a tradução do Caráter-por-caráter é feita pela função do tr. Na seguinte expressão cada a é substituído com o e, o cada b com d, e o c com f no $sntnce variável. A expressão retorna o número das substituições feitas.
|
|
A maioria do especial RE códigos não é aplicável na função do tr. Deixar-nos considerar por exemplo, aqui as contagens da indicação o número dos asteriscos atuais no $sntnce variável e as lojas que no $count variável.
|
$count = ($sntnce =~ tr/*/*/);
However, the "-" is still used to mean "between". This statement converts $_ to upper
case.
tr/a-z/A-Z/;
|
|
Keywords:tutorial do Perl, certificados do Perl, Perl que programa, Perl ativo, download do Perl, Perl da amora, expressões regulares do Perl, split do Perl, disposição do Perl, página do certificado do Perl
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|