正则表达式两个字符串

时间:2017-08-22 16:42:00

标签: regex

我对正则表达式了解不多。我希望你能帮助我。

我在文件中有一些文件的日期

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 :/

但这样做会毫无例外地显示所有文件

2 个答案:

答案 0 :(得分:1)

这将查找以'Aug:'开头的文件名,这不是您想要的。

请尝试使用/^Aug [0-9]{1,2}:/。它查找文件名:

  • 以'Aug'开头
  • 然后是一两位数字
  • 然后结肠

另外,你正在运行什么是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)