字符串如下(无换行符)
aaa1xxxx aaa2akjxk lka baljxklj990 bbb19ksjk xxxx bbb1oiooioipoi bbb29i0xl bbb29090x aaa1xxxdxx aaa2akjxk lka baljxklj990 bbb19ksjk xxxx bbb1oiooioipoi bbb29i0xl bbb29090x规律是:aaa1,aaa2会1:1 的机会出现,aaa1和aaa2后面的字符可能不相同相同,如果出现aaa1,aaa2, 后边就可以跟有bbb1, bbb2,但是bbb1,bbb2出现的次数是{0,m}, bbb1和bbb2后面的字符可能不相同相同, 当然可能还有bbbN. 同时还希望可以分别取得aaa1,aaa2,bbb1等这些特别字符串开头的整个字符串。
这样的正则表达式怎么写啊,大侠请出援手哦
aaa1
aaa2
bbb1
bbb1
bbb2
bbb1
bbb2
bbbN
aaa1
aaa2
bbb1
bbb1
bbb2
bbb2
bbbN
aaa1xxxx aaa2akjxk lka baljxklj990 bbb19ksjk xxxx bbb1oiooioipoi bbb29i0xl bbb29090x aaa1xxxdxx aaa2akjxk lka baljxklj990 bbb19ksjk xxxx bbb1oiooioipoi bbb29i0xl bbb29090x规律是:aaa1,aaa2会1:1 的机会出现,aaa1和aaa2后面的字符可能不相同相同,如果出现aaa1,aaa2, 后边就可以跟有bbb1, bbb2,但是bbb1,bbb2出现的次数是{0,m}, bbb1和bbb2后面的字符可能不相同相同, 当然可能还有bbbN. 同时还希望可以分别取得aaa1,aaa2,bbb1等这些特别字符串开头的整个字符串。
这样的正则表达式怎么写啊,大侠请出援手哦
aaa1
aaa2
bbb1
bbb1
bbb2
bbb1
bbb2
bbbN
aaa1
aaa2
bbb1
bbb1
bbb2
bbb2
bbbN
为: string pattern="((aaa1.*aaa2.*)(bbb[1-9][0-9]*.*)*)+";
如果是那样,那用什么来接收结果,按顺序给出就可以了吗?
我想要的结果是aaa1到aaa2之前的,aaa2到bbb1之前的。也就是把这些特别Header和它后面的字符全取得,因为每个Header后面的内容还是需要继续解析的,但现在第一层都没解析开,内层的就更别说了。
MatchCollection mc = Regex.Matches(textBox1.Text, @"(?<aaa1>aaa1.*?)(?<aaa2>aaa2.*?)(?<content>bbb\d.*?((?=aaa1)|$))");
foreach (Match m in mc)
{
//这里可以处理m.Group["aaa1"].Value和m.Group["aaa2"].Value
MatchCollection mc1 = Regex.Matches(m.Groups["content"].Value, @"bbb\d*.*?(?=bbb\d|aaa1|$)");
foreach (Match m1 in mc1)
{
//这里可以处理m1.value,其内容为bbb开头
}
}
6
?mc[0].Value
"aaa11393630 LA UA O aaa21393 FO LAT bbb11393630 bbb213936 bbb3139363000291222008 bbb4139B-TVXV 0001 "
?mc[1].Value
"aaa113936300029122200 EUAM O aaa21H64P14 459 PME-CS bbb3139363000291PPS X bbb41393630002912220 bbb3139363H64P145459 FA.S bbb4139363 bbb31393630 bbb41393630 H64P145 bbb3139363 bbb4139363000 "
?mc[2].Value
"aaa11393 O aaa21393630002 PTW bbb3139363000291222 bbb41393630 bbb31393630002912220HJKSO O bbb4139363 bbb3139363SS bbb41393630002912220080 "
?mc[3].Value
"aaa113936300FSIN. aaa213936PA bbb31393HP bbb4139363 "
?mc[4].Value
"aaa1139363000 ME aaa213936 PMM bbb313 bbb41393630002912220 XD bbb31393630002 IR.FJEDPSS-B bbb413936300 0002 "
?mc[5].Value
"aaa113936300 O aaa2139H6AP145563 bbb3139363000 SE.PV(X/Y) bbb4139363 "?mc[0].Groups["aaa1"].Value
"aaa11393630 LA UA O "
?mc[1].Groups["aaa1"].Value
"aaa113936300029122200 EUAM O "
?mc[2].Groups["aaa1"].Value
"aaa11393 O "
?mc[3].Groups["aaa1"].Value
"aaa113936300FSIN. "
?mc[4].Groups["aaa1"].Value
"aaa1139363000 ME "
?mc[5].Groups["aaa1"].Value
"aaa113936300 O "
?mc[0].Groups["content"].Value
"bbb11393630 bbb213936 bbb3139363000291222008 bbb4139B-TVXV 0001 "
?mc[1].Groups["content"].Value
"bbb3139363000291PPS X bbb41393630002912220 bbb3139363H64P145459 FA.S bbb4139363 bbb31393630 bbb41393630 H64P145 bbb3139363 bbb4139363000 "
?mc[2].Groups["content"].Value
"bbb3139363000291222 bbb41393630 bbb31393630002912220HJKSO O bbb4139363 bbb3139363SS bbb41393630002912220080 "
?mc[3].Groups["content"].Value
"bbb31393HP bbb4139363 "
?mc[4].Groups["content"].Value
"bbb313 bbb41393630002912220 XD bbb31393630002 IR.FJEDPSS-B bbb413936300 0002 "
?mc[5].Groups["content"].Value
"bbb3139363000 SE.PV(X/Y) bbb4139363 "没发现那里不正常的