作者liyih ()
看板Perl
标题Re: [问题] 请问字串出现次数比对
时间Thu Jul 3 11:17:48 2008
※ 引述《cryshelen (helen)》之铭言:
: ※ 引述《LiloHuang (相见不如怀念)》之铭言:
: : 你的 aaaaaaaaaa 有要算 overlap 的部分吗
: : 好比说 前三个a 是一个 第二个a到第四个也算一个
: : 如果是这个 case 则用下面方式 非破坏性
: : $_ = 'aaaaaaaaaa';
: : print tr/aaa//;
: 先感谢您的帮忙
: 我要做的的确是要算overlap的部分
: 如aaaaa 算aaa出现的次数
: 出现的次数应该是3次
: 您说的方法我之前爬文有查到
: 但是执行之後发现不能使用
: 他算出来的次数是错的
: 例如
: $_ = 'aaaaaaaaaa';
: print tr/aaa//;
: 出来的解应该要是8
: 不过程式求出来的却是10
: 所以有点苦恼....
: 不过还是感谢您的帮忙了
: : 还是 aaaaaaaaaa 拆开 aaa aaa aaa a 这样来算
: : $_ = 'aaaaaaaaaa';
: : print s/aaa//g;
您可以试看看用 Lookahead 的方式。
$_ = 'aaaaaaaaaa';
print s/a(?=aa)/a/g;
print;
* Regex Tutorial - Lookahead and Lookbehind Zero-Width Assertions
http://www.regular-expressions.info/lookaround.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.64.130