我有一个文本文件,我想在其中找到一些代码,每个代码由3位数字+7个大写字母组成 示例:374ANSKJDS; 3UKRHDPO; 99RWLFOPE 我的问题如何通过数字范围使用grep或sed查找这些代码?例如 我想查找从750到900的代码?正则表达式数字范围
感谢
编辑
现在,我做到了用grep感谢所有,可有人给命令窗口下使用awk来做到这一点?
我有一个文本文件,我想在其中找到一些代码,每个代码由3位数字+7个大写字母组成 示例:374ANSKJDS; 3UKRHDPO; 99RWLFOPE 我的问题如何通过数字范围使用grep或sed查找这些代码?例如 我想查找从750到900的代码?正则表达式数字范围
感谢
编辑
现在,我做到了用grep感谢所有,可有人给命令窗口下使用awk来做到这一点?
您无法使用正则表达式比较数字的值。但是,您可以通过指定多个模式来解决此问题。对于您指定的时间间隔(750-900),你可以使用下面的正则表达式:
(7[5-9][0-9]|8[0-9][0-9]|900)[A-Z]{7}
可以匹配所有的人使用:
\d{1,3}[A-Z]{7}
由于您想匹配一个范围,因此您需要用每个范围的其他内容替换\d{1,3}
部件。因为正则表达式在字符串上工作,所以you can not write类似于[750-900]以匹配范围。因此,对于范围[750-900],使用此:
(7[5-9]\d|8\d\d|900)[A-Z]{7}
我能做的最好的是,[7-9] [0-9] [0-9],这是错误的,因为它会找到例如999我不想要它 – Leo92