我对正则表达式了解不多。我希望你能帮助我。
我在文件中有一些文件的日期
Aug 15:07 file1.txt
Jul 15:04 file2.txt
Aug 15:05 file3.txt
Aug 15:05 file4.txt
Aug 2016 file5.txt
Jul 15:09 file6.txt
我只想要以'Aug'开头并且有时间(:)的文件
/^Aug :/
但这样做会毫无例外地显示所有文件
答案 0 :(得分:1)
这将查找以'Aug:'开头的文件名,这不是您想要的。
请尝试使用/^Aug [0-9]{1,2}:/
。它查找文件名:
另外,你正在运行什么是bash命令?
(你可以在regex101.com测试你的正则表达式,这是一个很好的网站或那个;-))
答案 1 :(得分:1)
使用此模式^Aug\s+[0-9]+:[0-9]+\s+(.+$)
Demo
^ # Start of string/line
Aug # "Aug"
\s # <whitespace character>
+ # (one or more)(greedy)
[0-9] # Character in [0-9] Character Class
+ # (one or more)(greedy)
: # ":"
[0-9] # Character in [0-9] Character Class
+ # (one or more)(greedy)
\s # <whitespace character>
+ # (one or more)(greedy)
( # Capturing Group (1)
. # Any character except line break
+ # (one or more)(greedy)
$ # End of string/line
) # End of Capturing Group (1)