c# – 正则表达式 – 查找彩票号码

如果可能的话,我希望有一些正则表达式的指导,因为我对他们很垃圾:(

我已经扫描了彩票到文本,我试图从返回的文本中抽出彩票号码.

这是返回的字符串:

"if * it • 
Including Millionaire Raffle
7618-011874089-204279   111111111111111111111111111111
Goad luck for your draw on Fri 09 Nov 12
Your numbers
Lucky Stars
A 1 8 22 37 47 48 - 03 10
B11 15 26 43 44 - 05 06
C 08 23 27 28 29 - 02 09
D06 09 21 26 29 - 01 05
E 06 07 21 22 45 - 04 05
Your raffle numbers) for your draw(s)
PRC690104 
PRC690105 
PRC690106 
PRC690107 
1DRC690108
CHECK YOUR MILLIONAIRE RAFFLE 
RESULTS ONLINE AT 
WWW.NATIONAL-LOTTERY.CO.UK
5 plays x f2.00 for 1 draw = f10.00
HUGE EUROMILLIONS JACKPOTS TO
PLAY FOR EVERY TUESDAY AND
FRIDAY! PLAY TODAY FOR THE
CHANCE TO WIN YOUR WILDEST
DREAMS!
7618-011874089-204279 035469 Term. 26048301
Fill the box to void the ticket
11111111111111111111111 1111111111111111111111111"

这是扫描的图像:

正如你所看到的那样,彩票号码似乎总是出现在“幸运星”和“你的抽奖”之间

任何人都可以建议如何去除结果,所以我得到“A18223747480310”,“B11152643440506”,“C08232728290209”,“D06092126290105”,“E06072122450405”?

任何帮助将不胜感激!

最佳答案 让我们试着保持简单:每个彩票号码由一个字母A到E后跟恰好14个数字组成,每个数字之间可能有多个空格和/或连字符( – )字符.

所以这是一个正则表达式来提取每个彩票号码:

[A-E]([\s-]*\d){14}

可视化:(从Debuggex demo)

然后通过用空字符串替换所有空格和短划线来获得所需的结果.

点赞