2

だから私はPerlが初めてで、正規表現を試しています:

my $address = 'http://mail.google.com/belmark';

s/$address=~(\w+:\/\/)(.*.com)(\/\w+)/$1$2\/dev\/public_html/ if ($address =~ /.*\/belmark/);

そのコードでは、置換部分でエラーが発生します

私が達成したいのは、置換式内の正規表現で比較するために事前定義された変数を使用することです。を使用して正常に比較でき$_ます。では、どうすればいいですか?

4

2 に答える 2

2
#!/usr/bin/perl
use strict;
use warnings;
my $address = 'http://mail.google.com/belmark';

$address =~ s/(\w+:\/\/)(.*.com)(\/\w+)/$1$2\/dev\/public_html/ if ($address =~ /.*\/belmark/);

print "Address is: $address";

イデオネのデモ

Perl での正規表現は初めてなので、perlrequickから始める必要があります。

于 2013-06-03T03:38:12.950 に答える
1

.netこれが、.orgまたは他の何かのために機能する必要がある場合...

別の可能なオプション。

my $address = 'http://mail.google.com/belmark';
$address =~ s/(\.(?:net|org|com)).*/$1\/dev\/public_html/ if $address =~ /belmark$/;

print "$address\n";

__OUTPUT__
http://mail.google.com/dev/public_html
于 2013-06-03T05:49:27.687 に答える