gpt4 book ai didi

c# - 用于匹配日志文件中的 APK 文件名的正则表达式模式

转载 作者:行者123 更新时间:2023-11-30 23:30:14 25 4
gpt4 key购买 nike

我在构建正则表达式模式以适应我的日志文件中的所有修改时遇到了问题。它是一个充满提取的 Android APK 包的日志文件。它看起来像这样:

"\\fileserver\folder1\20151215\15\com.some.package1_658d67d60f573a2874c0163bdd3686eb9b15753c:\assets\fonts\somefile-LightIt.otf" is OK
"\\fileserver\folder1\APK_white\20151215\15\com.some.package2_658d67d60f573a2874c0163bdd3686eb9b15753c" is OK
"\\fileserver\folder1\20151215\15\com.some.package3.android_4538d62efe8b312a5adc4ed6aee14d2c37b7da48:\assets\SD\emotions\873.zip:\873\873.png" is OK
"\\fileserver\folder1\20151215\15\com.some.package4.android_4538d6abfe8b312a5adc4ed6aee14d2c37b7da48:\assets\SD\emotions\873.zip:\873\873.sam" is OK
"\\fileserver\folder1\20151215\15\658d67d60f573a2874c0163bdd3686eb9b15753c:\assets\fonts\somefile-LightIt.otf" is OK

我只需要获取 APK 包的名称。这意味着我需要从上述示例中获取以下内容:

com.some.package1_658d67d60f573a2874c0163bdd3686eb9b15753c
com.some.package2_658d67d60f573a2874c0163bdd3686eb9b15753c
com.some.package3.android_4538d62efe8b312a5adc4ed6aee14d2c37b7da48
com.some.package4.android_4538d6abfe8b312a5adc4ed6aee14d2c37b7da48
658d67d60f573a2874c0163bdd3686eb9b15753c

我创建了这个“残酷”的正则表达式:

((?!.+:\\.*)(?:".+\\(.+)"\s.*))|((?=.+:\\.*)(?:".+\\(.{2,}):\\.*"))

它工作正常,直到找到包含另一个存档的 APK 包(我的示例的最后 2 行)。这意味着在同一行上有更多的“:\”。

我迷路了。感谢您的任何建议

最佳答案

如果它需要是一个正则表达式,你可以想出:

(com[^:\\\n\r"]+)
# look for com literally
# match everything that is not a colon, backslash, double quote or linebreak
# capture everything into a group

参见 a demo on regex101.com .否则,请遵循@Maurice 的建议。

关于c# - 用于匹配日志文件中的 APK 文件名的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35017522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com