如何使用正则表达式从文本中提取所有出现的字符串?
我的情况是:
输入文字:i:0#.f|ldapmember|tom;i:0#.f|ldaprole|peter;i:0#.f|ldapmember|mary;
使用连续字符提取所有出现的i:0#.f|ldapmember|
,直到;
搜索结果为:i:0#.f|ldapmember|tom;i:0#.f|ldapmember|mary;
答案 0 :(得分:1)
这应该这样做,LDAP成员名称的捕获在组1中:
i:0\#\.f\|ldapmember\|([^;]*);
答案 1 :(得分:1)
以下是一种Perl方法:
#!/usr/bin/perl
use Modern::Perl;
my $str = 'i:0#.f|ldapmember|tom;i:0#.f|ldaprole|peter;i:0#.f|ldapmember|mary;';
my @occ = $str =~ /(i:0#\.f\|ldapmember\|[^;]+)/g;
say join('',@occ);
<强>输出:强>
i:0#.f|ldapmember|tomi:0#.f|ldapmember|mary