有这个字符串:
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
答案 0 :(得分: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+)
答案 1 :(得分:0)
我将@ TG的答案加上评论中的信息结合起来
我错过的是|
分隔符。
Size: ([0-9]+)|Modify: ([0-9]{4}\-[0-9]{2}\-[0-9]{2}\s[0-9]{2}\:[0-9]{2}\:[0-9]{2})