将正则捕获日期和数小时以及在字符串上的int

  • 本文关键字:字符串 int 小时 日期 regex
  • 更新时间 :
  • 英文 :


有此字符串:

File: `myfile.txt'
  Size: 310624485   Blocks: 606704     IO Block: 131072 regular file
Device: 13h/19d Inode: 14942600    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-11-21 06:00:31.293377534 +0100
Modify: 2017-11-21 06:01:33.203998797 +0100
Change: 2017-11-21 08:53:41.563936838 +0100
 Birth: -

我想获得两个捕获组:

  • Size以外的数字,在上面的示例310624485
  • Modify以外的日期和小时直到点,在上面的示例2017-11-21 06:01:33

我通过使用以下正则以下等级:
获得了第一组。
Size: (0|[1-9][0-9]*)

,但我无法获得Modifty

有人可以给我一只手,告诉我如何获得两个捕获组,这是正则:https://regex101.com/r/wdoqdn/1

求解修改您可以使用 (Modify: )([0-9]{4}-[0-9]{2}-[0-9]{2}s[0-9]{2}:[0-9]{2}:[0-9]{2})

正如评论中提到的某人要捕捉尺寸的人,请使用更简单的正则言论,例如 (Size: )(d+)

Java版本:

(Modify: )([0-9]{4}\-[0-9]{2}\-[0-9]{2}\s[0-9]{2}\:[0-9]{2}\:[0-9]{2})

(Size: )(\d+)

我结合了 @tg的答案以及评论中的信息。
我错过的是|分离器。

Size: ([0-9]+)|Modify: ([0-9]{4}-[0-9]{2}-[0-9]{2}s[0-9]{2}:[0-9]{2}:[0-9]{2})

最新更新