正则表达式提取特定字符串

时间:2016-03-08 08:39:26

标签: java regex

1X79 "The X-Files" (1.01)            9/10/93   1/17/94* 11/ 6/94*
1X01 "Deep Throat" (1.02)            9/17/93  12/24/93   6/24/94
1X02 "Squeeze" (1.03)                9/24/93  12/ 3/93   6/10/94  11/ 4/95*
1X03 "Conduit" (1.04)               10/ 1/93  12/14/93*  5/27/94
1X04 "Jersey Devil" (1.05)          10/ 8/93  12/31/93   7/22/94
1X05 "Shadows" (1.06)               10/22/93   3/ 4/94   5/26/95
1X06 "Ghost in the Machine" (1.07)  10/29/93   1/14/94
1X07 "Ice" (1.08)                   11/ 5/93   1/17/94*  8/12/94   3/ 3/95
1X08 "Space" (1.09)                 11/12/93   1/28/94   8/22/94*
1X09 "Fallen Angel" (1.10)          11/19/93   3/29/94* 11/13/94*
1X10 "Eve" (1.11)                   12/10/93   3/11/94   8/26/94
1X11 "Fire" (1.12)                  12/17/93   3/25/94  11/20/94*
1X12 "Beyond the Sea" (1.13)         1/ 7/94   4/ 8/94  12/22/95?
1X13 "GenderBender" (1.14)           1/21/94   5/20/94   7/21/95
1X14 "Lazarus" (1.15)                2/ 4/94   6/ 3/94   9/ 2/94
1X15 "Young at Heart" (1.16)         2/11/94   6/17/94   8/19/94
1X16 "E.B.E." (1.17)                 2/18/94   7/ 8/94  11/27/94*
1X17 "Miracle Man" (1.18)            3/18/94   7/ 1/94
1X18 "Shapes" (1.19)                 4/ 1/94  10/28/94   8/ 4/95
1X19 "Darkness Falls" (1.20)         4/15/94   8/ 5/94  12/ 2/94
1X20 "Tooms" (1.21)                  4/22/94   7/15/94  11/ 4/95*
1X21 "Born Again" (1.22)             4/29/94   8/22/94*
1X22 "Roland" (1.23)                 5/ 6/94   7/29/94
1X23 "The Erlenmeyer Flask" (1.24)   5/13/94   9/ 9/94   9/ 1/95

鉴于此列表,我需要提取:

名称(引号)

本季(括号内)

提到的第一年。

ex)对于“X档案”我需要提取'93'

我想出了:

"(.*?)"+([\D]+)(.{4})

哪个获得了前两个项目,但我无法弄清楚如何抓住这一年

1 个答案:

答案 0 :(得分:7)

请考虑以下事项:

"([^"]+)"\s*\(([^\)]+)\)\s*\d+\/\s*\d+\/(\d+)

https://regex101.com/r/jU6kI0/1

名称为group(1),季节为group(2),年份为group(3)