我想在linux中实现一个正则表达式,使用grep可以验证字段是否包含15个数值,以及占据第五个位置(从左起(的值是否为5或6。
我已经到了定义它最多包含15个值的要求的地步,然而,我不能得到占据第五位的是5或6。应该是:
grep -E "^[0-9]{1,15}"
知道吗?
对于正好15个数字,并且5的位置是5或6:
grep -E "^[0-9]{4}[56][0-9]{10}$"
^
字符串开始[0-9]{4}
匹配4位数字[56]
匹配5
或6
[0-9]{10}
匹配10位数字$
字符串结束
至少匹配前5个字符,后面跟着0-10位数字,并允许部分匹配,如12346222223333344444
中的匹配123462222233333
grep -Eo "^[0-9]{4}[56][0-9]{0,10}"