使用正则表达式返回字符串的一部分

5
我正在寻找一些正则表达式,以从以下URL中检索GUID。
GetUploadedUserAudioIdfriendlyName=eb0c5663-a9c3-4321-8c0e-5ffbfb3139fc

到目前为止,我已经得到了

GetUploadedUserAudioId\?friendlyName=([A-Fa-f0-9-]*)

但是这将返回完整的URL。
下面的图片展示了表达式的位置,让你了解我想要做什么。

3
我使用的工具/语言是什么? - Denys Séguret
你想要字符串的哪个部分 - Mike Perrenoud
如果您不明确如何使用正则表达式,那么这个问题就没有意义。请尝试在浏览器的控制台中输入以下内容: 'GetUploadedUserAudioIdfriendlyName=eb0c5663-a9c3-4321-8c0e-5ffbfb3139fc'.match(/GetUploadedUserAudioIdfriendlyName=([A-Fa-f0-9-]*)/) - Denys Séguret
1
你已经完成了一半。你需要从结果中获取第一个捕获组来获得所需的部分。 - Ikke
请注意:您可能会发现这个网站对于测试正则表达式非常有用:http://regex101.com/r/uC9tD2 - brianmearns
显示剩余6条评论
1个回答

3
不要使用正则表达式来处理此问题。假设您正在使用C#.NET,可以使用System.Web.HttpUtility类的静态ParseQueryString()方法,该方法返回一个NameValueCollection。请保留HTML标记。
Uri myUri = new Uri("http://www.example.com?GetUploadedUserAudioIdfriendlyName=eb0c5663-a9c3-4321-8c0e-5ffbfb3139fc");
string param1 = HttpUtility.ParseQueryString(myUri.Query).Get("param1");

请查看这个文档。


编辑:如果您之后想要作为Guid使用,请将其转换为一个Guid:

var paramGuid = new Guid(param1);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接