我希望捕捉一些随机奇怪的东西,这些东西是动态生成的,并填充在我的临时ASP文件的末尾。奇怪的是两组八个字符(看起来都是非大写字母(夹在点之间的图案。
我正试图找到最好的正则表达式来捕获这两组由8个非大写字母夹在中间的点组成的字符。
这是我当前的正则表达式:
.([^A-Z]{8}).
我当前的regex可以捕获第一个集合,但不能捕获第二个集合。我相信这是因为第一场比赛后点被吃掉了,所以没有点可以触发第二盘比赛。
我该如何改进这个正则表达式,使其同时捕捉两组动态怪异?非常感谢人们能提供的任何帮助!
要匹配的数据集:
字符串 | 预期匹配 |
---|---|
\Windows\Microsoft.NET\Framework64\v4.0.30119\临时ASP.NET Files\svc_pr30\701d8ff1\10cc0653\App_Web_defaultwsdlhelpgenerator.aspx。cdcab7d2.3sl-aaqs.dll | cdcab7d2.3sl-aaqs |
\Windows\Microsoft.NET\Framework64\v4.0.30119\临时ASP.NET Files\svc_pr21\a201b637\20c58f14\App_Web_defaultwsdlhelpgenerator.aspx。cdcab7d2.xqj2w wv.dll | cdcab7d2.xqj2v wv |
\Windows\Microsoft.NET\Framework64\v4.0.30119\临时ASP.NET Files\web_releaseapi\638ee986\2f0d9ef4\App_web_defaultwsdlhelpgenerator.aspx。cdcab7d2。-qsn3y9x.dll | cdcab7d。-qsn3y9x|
\Windows\Microsoft.NET\Framework64\v4.0.30119\Temporary ASP.NET Files\web_releaseapi\638ee986\2f0d9ef4\App_web_defaultwsdlhelpgenerator.aspx。cdcab7d2.pyn4enbe.dll | cdcab7d2.pyn4en be |
\Windows\Microsoft.NET\Framework64\v4.0.30119\临时ASP.NET Files\cmuserservice_windowauth\a10d69fc\d9424d7d\App_Web_defaultwsdlhelpgenerator.aspx。cdcab7d2.thhlx9xi.dll | cdcab7d2.thhl9xi |
您的数据集实际上提取了:所有的小写字母、数字和短划线,而不是关注非大写字母。用一个点分隔
并且您想在.dll之前提取
因此您可以使用此正则表达式进行提取。
([a-z0-9-]+?.[-a-z0-9]+?).dll
然后,对于您的结果,只需获取regex匹配的第1组即可。我想你知道正则表达式分组。
点击此处查看演示
您可以使用
.([^A-Z.]{8}.[^A-Z.]{8}).
请参阅regex演示详细信息:
.
-一个点([^A-Z.]{8}.[^A-Z.]{8})
-第1组:除点和大写ASCII字母外的八个字符,一个.
,然后再加上除点和小写ASCII字母以外的八个字母.
-一个点
每个测试字符串的第1组值为:
cdcab7d2.3sl-aaqs
cdcab7d2.xqj2w-wv
cdcab7d2.-qsn3y9x
cdcab7d2.pyn4enbe
cdcab7d2.thhlx9xi