Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图在下面找到这个非常简单的字符串的正则表达式。
我不知道该怎么做。
考虑:
A.B.C.MSI_AlphaName C.D.E.MSI_AlphaName_1 X.Y.Z.MSI_AlphaName_2 ... MSI_AlphaName_99
等等。鉴于我需要提取,这将是什么正则表达式AlphaName?
AlphaName
我试过了:
.+\.MSI_(.+)(?:_\d+)?
我会使用这个表达式:
MSI_([^_]+)(?:_|$)
捕获组将匹配第一个下划线之后一直_到第二个下划线或结尾或字符串的所有内容,以先到者为准。
_
而不是 .+ ,您将希望匹配[^_](不是的字符集"_"),除非您想要第一个“_”之后的所有内容
[^_]
"_"
所以你的表达应该是这样的:
.+\.MSI_([^_]+)(?:_\d+)?