我需要编写一个perl正则表达式来转换
site.company.com => dc=site,dc=company,dc=com不幸的是,我无法使用下面附带的正则表达式删除尾随的",“。当然,我可以删除下一条语句中的尾随",“,但我更希望将其作为regex的一部分来处理。
$data="site.company.com";
$data =~ s/([^.]+)\.?/dc=$1,/g;
print $data;上面的代码打印如下:
dc=site,dc=company,dc=com,提前谢谢。
发布于 2013-02-08 20:42:04
$data =~s/\./,dc=/g&&s/^/dc=/g;测试如下:
> echo "site.company.com" | perl -pe 's/\./,dc=/g&&s/^/dc=/g'
dc=site,dc=company,dc=com发布于 2013-02-08 20:45:48
在处理urls时,使用诸如URI之类的模块可能是个好主意。然而,我不认为它适用于这种情况。
我认为,这项任务最容易通过拆分和连接来解决:
my $url = "site.company.com";
my $string = join ",",            # join the parts with comma
             map "dc=$_",         # add the dc= to each part
             split /\./, $url;    # split into parts发布于 2013-02-08 20:47:31
试着这样做:
my $x = "site.company.com";
my @a = split /\./, $x;
map { s/^/dc=/; } @a;
print join",", @a;https://stackoverflow.com/questions/14772668
复制相似问题