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

时间:2015-05-06 09:49:34

标签: java regex pattern-matching

我有以下异常堆栈跟踪

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吗?

这样做

1 个答案:

答案 0 :(得分:0)

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

您可以使用此正则表达式。抓取group 1capture 1。请参阅演示。

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