所以我认为我需要做的第一件事是让第一个数字大于4.如果发现第一个数字大于4且数字是五位数或更多,那么应找到该数字。如果数字为4,则后面的一个数字必须大于0.我真的在努力设置它。我不知道我是否拥有所有正确的条件,编写正则表达式的技术方面也使我感到困惑。任何帮助表示赞赏。
答案 0 :(得分:1)
为什么要使用正则表达式?迭代每行中的单词,并将单词与数字40000进行比较
>>> a = "‘Winnie The Pooh’"
>>> a
'\xe2\x80\x98Winnie The Pooh\xe2\x80\x99'
答案 1 :(得分:-1)
[4-9][[:digit:]]{4}
[1-9][[:digit:]]{5,}
- 检查第一位数字是否为零!把它放在一起
[4-9][[:digit:]]{4}|[1-9][[:digit:]]{5,}
答案 2 :(得分:-1)
如果或等于大于40000,请使用
egrep '[4-9][[:digit:]]{4}|[[:digit:]]{6,}' file
注意额外的括号。 [:digit:]
相当于dgit:
中的五个字符之一
请进一步注意,如果存在零填充数字,{6,}
部分也会匹配小于40000的值,例如012345
。
如果你不想要第二个grep来删除40000,那么正如400多个正则表达式变得丑陋而且我推荐的是glenn jackman的解决方案。