string str = "234527342998211
已知有上述字符串,想用正则表达式来截取集合为:
2345
2734
2998
211
那么应该怎么写正则表达式呢.?
求各位大神指教..
如果正则表达式不能满足,还能有什么其他方法呢?
上述字符串只是测试的..
最好能给代码..
正则表达式.NETString
已知有上述字符串,想用正则表达式来截取集合为:
2345
2734
2998
211
那么应该怎么写正则表达式呢.?
求各位大神指教..
如果正则表达式不能满足,还能有什么其他方法呢?
上述字符串只是测试的..
最好能给代码..
正则表达式.NETString
string[] arrreg = Regex.Split(str, @"(?<=\G.{4})(?!$)");
var list = Regex.Split(str,@"(?<=\G\w{4})(?!$)");
/*
* [0] "2345" string
[1] "2734" string
[2] "2998" string
[3] "211" string */
"(^\d[0-9].*?)"
Regex 表达式
呃,, 不是4个一组.. 实际情况是不确定长度的一组..
当参数传进去int len = 5;
string str = "234527342998211";
string[] arrreg = Regex.Split(str, @"(?<=\G\d{"+len+"})(?!$)");
Product Serial Number: 014
2013-03-20 09:52 A0000 Device Plug In Pass 16.910
2013-03-20 09:52 A101A SB135A Detection Pass 0.000
2013-03-20 09:52 A1030 Set Speaker Volume Test Pass 0.110
2013-03-20 09:52 A1100 SB135x Initialise Pass 1.887
2013-03-20 09:52 A1261 (Setup Lo1->MicFP) (S3)->(FMic) Pass 6.147
2013-03-20 09:52 F16160 RO (96k/24b Lo1->MicFP) (S3)->(FMic) Pass 1.205
2013-03-20 09:52 A1212 (Setup Lo2->Li) (S4)->(S1) Pass 7.857
2013-03-20 09:52 F11260 RO (96k/24b Lo2->Li) (S4)->(S1) Pass 1.211
2013-03-20 09:52 F21261 FR (Lfc 96k/24b Lo2->Li) Pass 1.744
2013-03-20 09:52 F21262 FR (Ufc 96k/24b Lo2->Li) Pass 1.003
2013-03-20 09:52 F21263 FR (fm1 96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:52 F21264 FR (fm2 96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:52 F31260 SNR (96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:52 F41260 SCU (96k/24b Lo2->Li) Pass 0.000
2013-03-20 09:52 F51260 LXTK (96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:52 F51261 RXTK (96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:52 A1213 (Setup Lo3->Li) (S5)->(S1) Pass 1.435
2013-03-20 09:52 F11360 RO (96k/24b Lo3->Li) (S5)->(S1) Pass 1.201
2013-03-20 09:52 F21361 FR (Lfc 96k/24b Lo3->Li) Pass 1.740
2013-03-20 09:52 F21362 FR (Ufc 96k/24b Lo3->Li) Pass 1.016
2013-03-20 09:52 F21363 FR (fm1 96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:52 F21364 FR (fm2 96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:52 F31360 SNR (96k/24b Lo3->Li) Pass 1.016
2013-03-20 09:52 F41360 SCU (96k/24b Lo3->Li) Pass 0.000
2013-03-20 09:52 F51360 LXTK (96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:52 F51361 RXTK (96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:52 A1216 (Setup FHp->Li) (FHp)->(S1) Pass 6.068
2013-03-20 09:53 F11660 RO (96k/24b FHp->Li) (FHp)->(S1) Pass 1.192
2013-03-20 09:53 F21661 FR (Lfc 96k/24b FHp->Li) Pass 1.731
2013-03-20 09:53 F21662 FR (Ufc 96k/24b FHp->Li) Pass 1.012
2013-03-20 09:53 F21663 FR (fm1 96k/24b FHp->Li) Pass 1.011
2013-03-20 09:53 F21664 FR (fm2 96k/24b FHp->Li) Pass 1.006
2013-03-20 09:53 F31660 SNR (96k/24b FHp->Li) Pass 1.012
2013-03-20 09:53 F41660 SCU (96k/24b FHp->Li) Pass 0.000
2013-03-20 09:53 F51660 LXTK (96k/24b FHp->Li) Pass 1.011
2013-03-20 09:53 F51661 RXTK (96k/24b FHp->Li) Pass 1.006
2013-03-20 09:53 F11666 RO (96k/24b FHp33->Li) (FHp)->(S1) Pass 1.738
2013-03-20 09:53 A1217 (Setup RHp->Li) (S2)->(S1) Pass 5.049
2013-03-20 09:53 F11760 RO (96k/24b RHp->Li) (S2)->(S1) Pass 1.191
2013-03-20 09:53 F21761 FR (Lfc 96k/24b RHp->Li) Pass 1.732
2013-03-20 09:53 F21762 FR (Ufc 96k/24b RHp->Li) Pass 1.016
2013-03-20 09:53 F21763 FR (fm1 96k/24b RHp->Li) Pass 1.006
2013-03-20 09:53 F21764 FR (fm2 96k/24b RHp->Li) Pass 1.011
2013-03-20 09:53 F31760 SNR (96k/24b RHp->Li) Pass 1.006
2013-03-20 09:53 F41760 SCU (96k/24b RHp->Li) Pass 0.000
2013-03-20 09:53 F51760 LXTK (96k/24b RHp->Li) Pass 1.006
2013-03-20 09:53 F51761 RXTK (96k/24b RHp->Li) Pass 1.002
2013-03-20 09:53 F11766 RO (96k/24b RHp33->Li) (S2)->(S1) Pass 1.747
2013-03-20 09:53 F15560 RO (96k/24b So->Si) (S6)->(S7) Pass 2.301
2013-03-20 09:54 A0001 Device Plug Out Pass 47.372
135.762
Product Serial Number: 042
2013-03-20 09:54 A0000 Device Plug In Pass 33.260
2013-03-20 09:54 A101A SB135A Detection Pass 0.000
2013-03-20 09:54 A1030 Set Speaker Volume Test Pass 0.109
2013-03-20 09:54 A1100 SB135x Initialise Pass 1.888
2013-03-20 09:54 A1261 (Setup Lo1->MicFP) (S3)->(FMic) Pass 6.115
2013-03-20 09:55 F16160 RO (96k/24b Lo1->MicFP) (S3)->(FMic) Pass 1.199
2013-03-20 09:55 A1212 (Setup Lo2->Li) (S4)->(S1) Pass 7.872
2013-03-20 09:55 F11260 RO (96k/24b Lo2->Li) (S4)->(S1) Pass 1.212
2013-03-20 09:55 F21261 FR (Lfc 96k/24b Lo2->Li) Pass 1.744
2013-03-20 09:55 F21262 FR (Ufc 96k/24b Lo2->Li) Pass 1.010
2013-03-20 09:55 F21263 FR (fm1 96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:55 F21264 FR (fm2 96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:55 F31260 SNR (96k/24b Lo2->Li) Pass 1.000
2013-03-20 09:55 F41260 SCU (96k/24b Lo2->Li) Pass 0.000
2013-03-20 09:55 F51260 LXTK (96k/24b Lo2->Li) Pass 1.006
2013-03-20 09:55 F51261 RXTK (96k/24b Lo2->Li) Pass 1.012
2013-03-20 09:55 A1213 (Setup Lo3->Li) (S5)->(S1) Pass 1.420
2013-03-20 09:55 F11360 RO (96k/24b Lo3->Li) (S5)->(S1) Pass 1.201
2013-03-20 09:55 F21361 FR (Lfc 96k/24b Lo3->Li) Pass 1.739
2013-03-20 09:55 F21362 FR (Ufc 96k/24b Lo3->Li) Pass 1.011
2013-03-20 09:55 F21363 FR (fm1 96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:55 F21364 FR (fm2 96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:55 F31360 SNR (96k/24b Lo3->Li) Pass 1.000
2013-03-20 09:55 F41360 SCU (96k/24b Lo3->Li) Pass 0.000
2013-03-20 09:55 F51360 LXTK (96k/24b Lo3->Li) Pass 1.006
2013-03-20 09:55 F51361 RXTK (96k/24b Lo3->Li) Pass 1.012
2013-03-20 09:55 A1216 (Setup FHp->Li) (FHp)->(S1) Pass 6.068
2013-03-20 09:55 F11660 RO (96k/24b FHp->Li) (FHp)->(S1) Pass 1.192
2013-03-20 09:55 F21661 FR (Lfc 96k/24b FHp->Li) Pass 1.741
2013-03-20 09:55 F21662 FR (Ufc 96k/24b FHp->Li) Pass 1.002
2013-03-20 09:55 F21663 FR (fm1 96k/24b FHp->Li) Pass 1.012
2013-03-20 09:55 F21664 FR (fm2 96k/24b FHp->Li) Pass 1.002
2013-03-20 09:55 F31660 SNR (96k/24b FHp->Li) Pass 1.006
2013-03-20 09:55 F41660 SCU (96k/24b FHp->Li) Pass 0.000
2013-03-20 09:55 F51660 LXTK (96k/24b FHp->Li) Pass 1.006
2013-03-20 09:55 F51661 RXTK (96k/24b FHp->Li) Pass 1.006
2013-03-20 09:55 F11666 RO (96k/24b FHp33->Li) (FHp)->(S1) Pass 1.747
2013-03-20 09:55 A1217 (Setup RHp->Li) (S2)->(S1) Pass 5.049
2013-03-20 09:55 F11760 RO (96k/24b RHp->Li) (S2)->(S1) Pass 1.192
2013-03-20 09:55 F21761 FR (Lfc 96k/24b RHp->Li) Pass 1.731
2013-03-20 09:55 F21762 FR (Ufc 96k/24b RHp->Li) Pass 1.000
2013-03-20 09:55 F21763 FR (fm1 96k/24b RHp->Li) Pass 1.012
2013-03-20 09:55 F21764 FR (fm2 96k/24b RHp->Li) Pass 1.006
2013-03-20 09:55 F31760 SNR (96k/24b RHp->Li) Pass 1.006
2013-03-20 09:55 F41760 SCU (96k/24b RHp->Li) Pass 0.000
2013-03-20 09:55 F51760 LXTK (96k/24b RHp->Li) Pass 1.006
2013-03-20 09:55 F51761 RXTK (96k/24b RHp->Li) Pass 1.011
2013-03-20 09:56 F11766 RO (96k/24b RHp33->Li) (S2)->(S1) Pass 1.748
2013-03-20 09:56 F15560 RO (96k/24b So->Si) (S6)->(S7) Pass 2.295
2013-03-20 09:56 A0001 Device Plug Out Pass 31.897
136.575
Product Serial Number: 036
2013-03-15 20:47 A0000 Device Plug In Pass 19.422
2013-03-15 20:47 A101A SB135A Detection Pass 0.000
2013-03-15 20:47 A1030 Set Speaker Volume Test Pass 0.110
2013-03-15 20:47 A1100 SB135x Initialise Pass 1.903
2013-03-15 20:47 A1261 (Setup Lo1->MicFP) (S3)->(FMic) Pass 6.131
2013-03-15 20:47 F16160 RO (96k/24b Lo1->MicFP) (S3)->(FMic) Pass 1.336
2013-03-15 20:47 A1212 (Setup Lo2->Li) (S4)->(S1) Pass 7.878
2013-03-15 20:47 F11260 RO (96k/24b Lo2->Li) (S4)->(S1) Pass 1.222
2013-03-15 20:47 F21261 FR (Lfc 96k/24b Lo2->Li) Pass 4.430 1
2013-03-15 20:47 F21262 FR (Ufc 96k/24b Lo2->Li) Pass 1.006
2013-03-15 20:47 F21263 FR (fm1 96k/24b Lo2->Li) Pass 1.006
2013-03-15 20:47 F21264 FR (fm2 96k/24b Lo2->Li) Pass 1.006
2013-03-15 20:47 F31260 SNR (96k/24b Lo2->Li) Pass 1.006
2013-03-15 20:47 F41260 SCU (96k/24b Lo2->Li) Pass 0.000
2013-03-15 20:47 F51260 LXTK (96k/24b Lo2->Li) Pass 1.006
2013-03-15 20:47 F51261 RXTK (96k/24b Lo2->Li) Pass 1.006
2013-03-15 20:47 A1213 (Setup Lo3->Li) (S5)->(S1) Pass 1.466
2013-03-15 20:47 F11360 RO (96k/24b Lo3->Li) (S5)->(S1) Pass 1.202
2013-03-15 20:47 F21361 FR (Lfc 96k/24b Lo3->Li) Pass 1.739
2013-03-15 20:48 F21362 FR (Ufc 96k/24b Lo3->Li) Pass 1.011
2013-03-15 20:48 F21363 FR (fm1 96k/24b Lo3->Li) Pass 1.006
2013-03-15 20:48 F21364 FR (fm2 96k/24b Lo3->Li) Pass 1.006
2013-03-15 20:48 F31360 SNR (96k/24b Lo3->Li) Pass 1.006
2013-03-15 20:48 F41360 SCU (96k/24b Lo3->Li) Pass 0.000
2013-03-15 20:48 F51360 LXTK (96k/24b Lo3->Li) Pass 1.016
2013-03-15 20:48 F51361 RXTK (96k/24b Lo3->Li) Pass 1.006
2013-03-15 20:48 A1216 (Setup FHp->Li) (FHp)->(S1) Pass 6.068
2013-03-15 20:48 F11660 RO (96k/24b FHp->Li) (FHp)->(S1) Pass 1.192
2013-03-15 20:48 F21661 FR (Lfc 96k/24b FHp->Li) Pass 1.739
2013-03-15 20:48 F21662 FR (Ufc 96k/24b FHp->Li) Pass 1.013
2013-03-15 20:48 F21663 FR (fm1 96k/24b FHp->Li) Pass 1.006
2013-03-15 20:48 F21664 FR (fm2 96k/24b FHp->Li) Pass 1.012
2013-03-15 20:48 F31660 SNR (96k/24b FHp->Li) Pass 1.006
2013-03-15 20:48 F41660 SCU (96k/24b FHp->Li) Pass 0.000
2013-03-15 20:48 F51660 LXTK (96k/24b FHp->Li) Pass 1.006
2013-03-15 20:48 F51661 RXTK (96k/24b FHp->Li) Pass 1.006
2013-03-15 20:48 F11666 RO (96k/24b FHp33->Li) (FHp)->(S1) Pass 1.745
2013-03-15 20:48 A1217 (Setup RHp->Li) (S2)->(S1) Pass 5.033
2013-03-15 20:48 F11760 RO (96k/24b RHp->Li) (S2)->(S1) Pass 1.202
2013-03-15 20:48 F21761 FR (Lfc 96k/24b RHp->Li) Pass 1.741
2013-03-15 20:48 F21762 FR (Ufc 96k/24b RHp->Li) Pass 1.001
2013-03-15 20:48 F21763 FR (fm1 96k/24b RHp->Li) Pass 1.006
2013-03-15 20:48 F21764 FR (fm2 96k/24b RHp->Li) Pass 1.011
2013-03-15 20:48 F31760 SNR (96k/24b RHp->Li) Pass 1.006
2013-03-15 20:48 F41760 SCU (96k/24b RHp->Li) Pass 0.000
2013-03-15 20:48 F51760 LXTK (96k/24b RHp->Li) Pass 1.006
2013-03-15 20:48 F51761 RXTK (96k/24b RHp->Li) Pass 1.012
2013-03-15 20:48 F11766 RO (96k/24b RHp33->Li) (S2)->(S1) Pass 1.745
2013-03-15 20:48 F15560 RO (96k/24b So->Si) (S6)->(S7) Pass 2.285
2013-03-15 20:49 A0001 Device Plug Out Pass 20.618
114.385实际情况是这样的.. 条件是截取Product Serial Number:到下个Product Serial Number:的字符串,
然后最后一个Product Serial Number:到结尾.
怎么判断是否为最后一个Product Serial Number:
求给出正则...
呃,, 不是4个一组.. 实际情况是不确定长度的一组..
当参数传进去int len = 5;
string str = "234527342998211";
string[] arrreg = Regex.Split(str, @"(?<=\G\d{"+len+"})(?!$)");
好吧.. 你再看看9楼那堆数据... 我不知道是不是发帖的时候表达的意思错了..
确实能截取到数据,而且我想把Product Serial Number:也截取到..
则按9楼的文本形式,,每一个Product都是一段字符串..
感觉这正则表达式的水好深..
Product .....
xxx
为一个字符串,
然后
Product ....
xxx
为第二个字符串.
Product .....
xxx
为一个字符串,
然后
Product ....
xxx
为第二个字符串.
(?is)Product Serial Number: \d{3}.*?(?=Product Serial Number: \d{3}|$)
(?is)Product Serial Number: \d{3}.*?(?=Product Serial Number: \d{3}|$) (?is)(?<=Product Serial Number: \d{3}).*?(?=Product Serial Number: \d{3}|$)(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
所以第二个reg匹配不到Product Serial Number,第一个没有加,所以可以取到Product Serial Number
(?is)(?<=Product Serial Number: \d{3}).*?(?=Product Serial Number: \d{3}|$)
(?is)(?=Product Serial Number: \d{3}).*?(?<=Product Serial Number: \d{3}|$)你可以试试这两句的结果差别
(?is)(?<=Product Serial Number: \d{3}).*?(?=Product Serial Number: \d{3}|$)
(?is)(?=Product Serial Number: \d{3}).*?(?<=Product Serial Number: \d{3}|$)你可以试试这两句的结果差别
其实我是没看懂(?is),(?<=)和(?=)这是什么东东
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置 ?<=Product Serial Number就是从这个字符串后面开始匹配,?=Product Serial Number就是从这个字符串之前匹配。你运行下2个,看看结果就能体会了,(?is)i是忽略大小写和单行,s是点号匹配一切字符(含换行符)
虽然你结贴了,我要纠正下,我打错了,(?is)i是忽略大小写和单行,s是点号匹配一切字符(含换行符) 红色字体删掉