如何在 java 中使用模式匹配器搜索文件中的特定字符串

How to search a particular string in a file using pattern matcher in java

我有以下异常堆栈跟踪

java.net.SocketException: ***Connection reset***
    at java.net.SocketInputStream.read(SocketInputStream.java:197)
    at jcifs.netbios.SessionServicePacket.readPacketType(SessionServicePacket.java:68)
    at jcifs.netbios.NbtSocket.connect(NbtSocket.java:107)
    at jcifs.netbios.NbtSocket.<init>(NbtSocket.java:68)
    at jcifs.smb.SmbTransport.ensureOpen(SmbTransport.java:275)
    at jcifs.smb.SmbTransport.send(SmbTransport.java:602)
    at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:847)
    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:119)
    at jcifs.smb.SmbFile.connect(SmbFile.java:790)
    at jcifs.smb.SmbFile.connect0(SmbFile.java:760)
    at jcifs.smb.SmbFile.queryPath(SmbFile.java:1149)
    at jcifs.smb.SmbFile.exists(SmbFile.java:1232)
    at com.ssc.faw.util.SmbFileOperator.copyFile(Unknown Source)
    at com.ssc.faw.newnav2faw.FundList.checkFiles(Unknown Source)
    at com.ssc.faw.newnav2faw.FundList.buildList(Unknown Source)
    at com.ssc.faw.newnav2faw.Process.buildFundList(Unknown Source)
    at com.ssc.faw.job.NavToFaw.runNav2Faw(Unknown Source)
    at com.ssc.faw.job.NavToFaw.runNav2Faw(Unknown Source)
    at com.ssc.faw.job.NavToFaw.runJob(Unknown Source)
    at com.ssc.faw.job.NavToFaw.main(Unknown Source)
[WARN ] 2015-05-05 21:02:26,383 Caught an Exception for file \ac_asd_2.my_web.com\global\nvice\alert\ filename ***abcd123.xls*** continuing to process other funds 0 : null
jcifs.smb.SmbException: An error occured sending the request.

现在的问题是,根据单词 Connection reset 的出现,我需要找到紧邻的下一个 .xls 文件名 abcd123.xls(可以是任何名称) 我们可以通过 REGEX 做到这一点吗??

Connection reset.*?\b([^ .]+\.xls)\b

您可以使用此 regex.Grab group 1capture 1。请参阅演示。

https://regex101.com/r/bN8dL3/3