- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2015-09-15 13:41 编辑
命令的原型:在正则中必须包含的表达式如下:希望提取数字范围在 1~12 范围之间外的数字 (不包括标点符号), 在正则中必须使用上方所指定的匹配 1~12 之间的表达式来达到此目的.
难点分析:
1.> 其实此题的问题所在正如大神 "ly5066113V" 所指出的那样,只要将 seq 命令的 "-s " 选项去掉, 解决起来就非常的容易;
2.> 如果没有规定必须使用什么样的 "正则", 解决起来相对也比较容易;
3.> 如果 seq 命令的输出是一串固定的 1~19 的单数, 那么也可以使用大神 "ly5066113V" 的匹配不符合条件的哪些数字
(同样在不是用固定正则的前提下) 的方式进行匹配;
预测结果:
1.> 不知有哪位大神能够写出满足以上条件的 "正则", 而且能够匹配成功; (小弟只想开开眼界,了解一下正则到底有多强大)
2.> 或许我提出的条件根本就无法用 grep 命令配合正则来完成此项任务,请您指出 "难点" 在哪里? (回帖:请使用中文,谢谢...)
看来,这个问题使用 grep 命令 + "固定格式的正则" 真的变成了不可能完成的任务了. 大神 "jason680" 提示的很对,
解决问题需要选择正确的工具. 不过,从中我收获了很多先前并没有关注的东西. 在此向回复我的两位前辈一并致谢!
|
|