Iphone RegexKitLite如何在objective c中转换PHP正则表达式
我使用这个正则表达式在我的站点上搜索一个字符串中的imgsrc。 现在我不想用这个表达式在目标c中做同样的事情。如何使用RegexKitLite实现这一点? 这是我的表情Iphone RegexKitLite如何在objective c中转换PHP正则表达式,iphone,objective-c,regex,Iphone,Objective C,Regex,我使用这个正则表达式在我的站点上搜索一个字符串中的imgsrc。 现在我不想用这个表达式在目标c中做同样的事情。如何使用RegexKitLite实现这一点? 这是我的表情 /<img.+src=[\'"]([^\'"]+)[\'"].*>/i //i @蒂姆·皮茨克 您的代码工作得很好,但例如,如果我尝试在这个字符串中搜索img <p><a href="http://www.nationalgeographic.it/popoli-culture/2011/08
/<img.+src=[\'"]([^\'"]+)[\'"].*>/i
//i
@蒂姆·皮茨克
您的代码工作得很好,但例如,如果我尝试在这个字符串中搜索img
<p><a href="http://www.nationalgeographic.it/popoli-culture/2011/08/03/news/per_la_tomba_del_boia-443612/?rssimage"> <img src="http://www.nationalgeographic.it/images/2011/07/29/115624013-20034abf-4d91-40fe-98ab-782f06a9854d.jpg" width="140" align="left" hspace="10"></a>Scoperta in America del Sud la sepoltura pre-incaica di un uomo circondato da coltelli cerimoniali che secondo gli archeologi eseguiva sacrifici umani</p>
在美国的范围是公元前20世纪的第二个gli考古学家eseguiva牺牲的人类
我的数组中有以下结果:
matchArray: (
"<img src=\"http://www.nationalgeographic.it/images/2011/07/29/115624013-20034abf-4d91-40fe-98ab-782f06a9854d.jpg\" width=\"140\" align=\"left\" hspace=\"10\">"
)
匹配数组:(
""
)
我如何修改你的正则表达式以只获取src标记的内容?非常感谢分隔符让您感到厌烦。此外,您至少应该使用惰性量词。试试这个:
NSString *regexString = @"(?i)<img.+?src=['\"]([^'\"]+)['\"].*?>";
NSString*regexString=@“(i)”;
顺便说一句,当文件名包含引号时,这会中断。这对你有问题吗
一个更安全(并且能够很好地处理引号)的正则表达式
NSString*regexString=@“(?i)]*>”;
但是,现在匹配文件名将位于捕获组2中,而不是1中,因此您需要在匹配后修改使用该文件名的任何代码。谢谢!您的代码可以正常工作,但我不想要src=标记的内容!我在我的问题中添加了一些信息!看,您需要访问第二个捕获组。我想您可以通过使用
capture:2L
参数来实现这一点。查看中的第14页。我很确定苹果不再接受使用RegexKitLite的应用程序,因为它使用了一个私有库(libicu),您现在应该使用NSRegularExpression,它使用相同的libicu库。
NSString *regexString = @"(?i)<img[^<>]+?src=(['\"])((?:(?!\\1).)+)\\1[^<>]*>";