验证字段结构的正则表达式
Regular expression to validate field structure
我想在 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}"
我想在 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}"