perl 匹配重复字符串

比如ccabababasss,只知道ab重复,但不知道重复多少次,网上看到的/(\w+?)\1+/g方法无法实现,不知道是不是我不会用,谢谢解答。... 比如ccabababasss,只知道ab重复,但不知道重复多少次,网上看到的/(\w+?)\1+/g方法无法实现,不知道是不是我不会用,谢谢解答。 展开
 我来答
DoramiHe
2018-04-04 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59542
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
Perl split函数
Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的结果放入数组中。这个Perl
split函数使用规则表达式(RE),如果未特定则工作在$_变量上。
Perl split函数可以这样使用:
$info="Caine:Michael:Actor:14,LeafyDrive";
@personal=split(/:/,$info);
其结果是:@personal=("Caine","Michael","Actor","14,LeafyDrive");
◆如果我们已经把信息存放在$_变量中,那么可以这样:
@personal=split(/:/);
如果各个域被任何数量的冒号分隔,可以用RE代码进行分割:
$_="Capes:Geoff::Shotputter:::BigAvenue";
@personal=split(/:+/);
其结果是:@personal=("Capes","Geoff","Shotputter","BigAvenue");
但是下面的代码:
$_="Capes:Geoff::Shotputter:::BigAvenue";
@personal=split(/:/);
的结果是:@personal=("Capes","Geoff","","Shotputter","","","BigAvenue");
◆这个Perl split函数中单词可以被分割成字符,句子可以被分割成单词,段落可以被分割成句子:
@chars=split(//,$word);
@words=split(//,$sentence);
@sentences=split(/\./,$paragraph);
在第一句中,空字符串在每个字符间匹配,所以@chars数组是一个字符的数组。>>
//之间的部分表示split用到的正则表达式(或者说分隔法则)
\s是一种通配符,代表空格
+代表重复一次或者一次以上。
所以,\s+代表一个或者一个以上的空格。
split(/\s+/,$line)表示把字符串$line,按空格为界分开。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式