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

标签 c# regex visual-studio

<分区>

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

我已经扫描了一张彩票到文本,我正试图从返回的文本中提取彩票号码。

这是返回的字符串:

"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"

这是扫描的图像:

The ticket that was scanned

如您所见,彩票号码似乎总是出现在“幸运星”和“您的抽奖”之间

谁能建议如何去掉结果,以便我得到“A18223747480310”、“B11152643440506”、“C08232728290209”、“D06092126290105”、“E06072122450405”?

如有任何帮助,我们将不胜感激!

最佳答案

让我们尽量保持简单:每个彩票号码由字母 AE 中的一个字母组成,后跟恰好 14 位数字,每个数字可能有多个空格和/或中间的连字符 (-)。

所以这里有一个提取每个彩票号码的正则表达式:

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

可视化:(来自 Debuggex demo)

Regular expression visualization

然后通过将所有空格和破折号替换为空字符串来获得您想要的结果。

关于c# - 正则表达式 - 查找彩票号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18427500/

相关文章:

entity-framework - Nuget 不会将 Entity Framework 安装到 C++/CLI 项目中

c# - 从特定的起始位置获取选项?

javascript - 使用正则表达式提取元标记

regex - 从 fs_usage 的输出中提取路径

visual-studio - 点击一个按钮,该按钮将无法点击,直到重置

c# - 如何在记录代码中使用 IEnumerable<String>

c# - 上传任何视频并在 .net 中在线转换为 .mp4

c# - 排列算法优化

c# - Visual Studio 2012 调试多个项目

r - 在 R 中,如何删除最后一个斜杠之前的所有内容