请教常规表达式的写法

请教常规表达式的写法

请教常规表达式的写法
$A="a12a12b12a123b123b";
我想从中找出以a开头,以b结尾,且中间不再含a和b的字串,(也就是a12b和a123b),应该怎么写呢?
#!/usr/bin/perl--$str=.
#!/usr/bin/perl
$str="a12a12b12a123b123b";
@array=$str=~/2(a.*?b)/g;
print "@array";
[quote]$a = "a12a12b12a1.
[quote]$a = "a12a12b12a123b123b";
@a = $a =~ /a[^ab]+b/g;
print "$_\n" for @a;[/quote]
谢谢以上两位。--我举的.
谢谢以上两位。
我举的例子不好,问题没有描述清楚。
如果上式中的a和b不是单个字母呢?
比如:“abcdefabcdefghij"中找出以abc开头,以hi结尾,且中间不再含有abc和hi的字串。即只找出“abcdefghi”,而不找出“abcdefabcdefghi”。




   

我的不就可以么?.
多个字母的情况呢?.
不好意思,3楼我编辑了一下




   

/^a(?=a|b)*b$/.
/^a(?=a|b)*b$/