用于确定序列号的正则表达式

时间:2010-01-20 20:33:40

标签: c# regex

我知道有很多关于SO的问题要求正则表达式的帮助,所以我提前为另一个道歉。

我之前从未使用过正则表达式,而且我已经在网上搜索过(并下载了一个程序来向你展示你的正则表达式的结果)但是我似乎无法想象自己的烦恼因为我知道这很烦人这真的很容易。

我从csv文件中获取了大量文本。大多数行的格式为:

  

序列号,描述,状态

我需要知道哪些行包含序列号。序列号通常为ABC001格式。但有时会有4个字母,有时是4个数字等。所以我试着制作一个表达式,只检查第一个数字是一个字母,第一个数字前面的最后一个数字是一个数字。我知道这不完美,但对我的目的来说完全没问题。

我试过^ [A-Z] $ [0-9]因为我认为'从A-Z开始,以0-9'结束但是这不起作用。有人可以帮助我,因为它让我发疯!

我不知道这有什么不同,但我正在使用C#。

4 个答案:

答案 0 :(得分:2)

我的主张:

^[A-Za-z]{3,4}[0-9]{3,4}

答案 1 :(得分:0)

以第一个逗号为数字前的最后一位数字开头:

^[a-zA-Z][^,]*[0-9],

答案 2 :(得分:0)

如果您不熟悉正则表达式,为什么不在C#中使用普通的字符串操作?我的意思是,如果有人提供解决方案(可能会发生),您很可能无法确认它是否适用于您的所有情况,或者如果需要这样做,将无法进行调整。

答案 3 :(得分:0)

如果你想“以A-Z开头,以0-9结尾”,你可以[A-Z][A-Z0-9]+[0-9]。您之前的正则表达式不起作用,因为^$查找行的开头和结尾。

相关问题