我有一個文本文件,我想在其中找到一些代碼,每個代碼由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