我有一个很长的字符串:
1;#Subject:SW| vti_parserversion:SR|14.0.0.4762 vti_folderitemcount:IR|0 _Category:SW| vti_author:SR|SHAREPOINT\\system _dlc_DocIdItemGuid:SW|8435986b-4ff2-4e03-9879-d15568d88f0b vti_approvallevel:SR| vti_categories:VW| vti_foldersubfolderitemcount:IR|0 vti_modifiedby:SR|SHAREPOINT\\system vti_assignedto:SR| Keywords:SW| _Status:SW| vti_cachedcustomprops:VX|vti_approvallevel vti_categories Subject vti_assignedto Keywords _Status vti_title _Author _Category _dlc_DocId _Comments _dlc_DocIdUrl _dlc_DocIdItemGuid ContentTypeId:SW|0x01010013CD7B577B3AC84B8467BC0F2B82B30D _dlc_DocId:SW|5VQNHKQHD5Z4-9-1 vti_cachedtitle:SR|SharePoint 2010 Deployment Guide vti_title:SR|SharePoint 2010 Deployment Guide _Author:SW| _dlc_DocIdUrl:SW|http://blub.com/_layouts/DocIdRedir.aspx?ID=5VQNHKQHD5Z4-9-2, 5VQNHKQHD5Z4-9-1 _Comments:SW|
我想解析DocIdUrl(“_dlc_DocIdUrl:SW |”和“,”之间的字符串),我正在使用RegexKitLite:String stringByMatching:regExP
这是我的第一个RegExpression:NSString* regExp = @"(?=\_dlc_DocIdUrl:SW|)(.*?)(?=\,)";
但它给了我:_dlc_DocIdUrl:SW | http://blub.com/_layouts/DocIdRedir.aspx?ID = 5VQNHKQHD5Z4-9-2
我只想要网址,我该如何解决?
我很困惑!
答案 0 :(得分:0)
以下是解决问题的正则表达式:
_dlc_DocIdUrl:SW\|(?<value>[^,]*),+
您将在名为“value”的组中找到请求的网址
答案 1 :(得分:0)
(?<=_dlc_DocIdUrl:SW\|)[^,]*(?=,)
这可以直接为您提供所需,无需分组。