我有一个文本文件,其中说了这三行文本。

.....03122      25   8.2  "'Allo 'Allo!" (1982) {Fleeing Monks (#7.3)}
0.1.1.2003      15   5.6  "$weepstake$" (1979)
0..0012101      45   6.6  "$#*! My Dad Says" (2010) {Make a Wish (#1.9)}


我只想提取以下内容。

8.2  "'Allo 'Allo!" (1982)
5.6  "$weepstake$" (1979)
6.6  "$#*! My Dad Says" (2010)


我尝试在Java中使用扫描仪,但失败了。我也尝试使用制表符空格分割字符串。似乎有一些间距不均匀的标签。

尽管使用Regex获得这三个值很容易。到目前为止,这是我能够写的。有人可以帮我吗。

\\d\\.\\d

最佳答案

使用此正则表达式\d+\.\d+\s+".+?"\s+\(\d+?\)

用于分组使用此(\d+\.\d+)\s+"(.+?)"\s+\((\d+?)\)

8.2          - 1 group
'Allo 'Allo! - 2 group
1982         - 3 group

关于java - 需要帮助改善我的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14540829/

10-09 00:09