我不知道如何捕捉字符串中的可选模式。
解析此字符串:Dalvik/1.6.0 (Linux; U; Android 4.4.4; Nexus 5 Build/KTU84P)
我使用这个模式,这正是我需要的):
/^([^\/\s]*)\/([^\s]*)(\s\(([^()]*|\([^()]*\)*)\))?/
# returns
# 1. Dalvik
# 2. 1.6.0
# 3. (Linux; U; Android 4.4.4; Nexus 5 Build/KTU84P)
# 4. Linux; U; Android 4.4.4; Nexus 5 Build/KTU84P但是这个字符串可以有第一个模式多次,如:Bonobo/1.0.3; Multipass/1.5.2; Dalvik/1.6.0 (Linux; U; Android 4.4.4; Nexus 5 Build/KTU84P)
我想得到的是:
# 1. Bonobo
# 3. 1.0.3
# 4. Multipass
# 5. 1.5.2
# 6. Dalvik
# 7. 1.6.0
# 8. (Linux; U; Android 4.4.4; Nexus 5 Build/KTU84P)
# 9. Linux; U; Android 4.4.4; Nexus 5 Build/KTU84P但经过多次尝试,我还是搞不明白。
有什么想法吗?
非常感谢。
发布于 2014-11-21 15:30:36
https://stackoverflow.com/questions/27064657
复制相似问题