关于 RegexKitLite 换行
我使用 RegexKitLite 来匹配一些文本:
xxx*[abc]*xxx
我想匹配 [abc],并使用此正则:
NSString *result = [@"xxx[ abc]xxx" stringByMatching:@"\\[(.*)?\\]" capture:1];
那么,结果是 [abc]。但是,如果其中有换行符:
xxx[ab c]xxx
不行。 我使用 ([\s\S]*),也不用数学 [abc]。 我怎样才能匹配这个文本? 谢谢
I'm use RegexKitLite to match some texts:
xxx*[abc]*xxx
and I want to match [abc],and use this regular:
NSString *result = [@"xxx[abc]xxx" stringByMatching:@"\\[(.*)?\\]" capture:1];
then, the result is [abc].But, if have linebreak in there:
xxx[ab
c]xxx
It's dosen't work.
I use ([\s\S]*), also dosen't math [abc].
How can I match this text?
thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
默认情况下,
.
不匹配新行。您可以使用或提供 RKLDotAll 选项以及 -stringByMatching:options:inRange:capture:error: 方法。
或者,您可以使用贪婪变体
The
.
does not match new lines by default. You could useor supply the RKLDotAll option with the -stringByMatching:options:inRange:capture:error: method.
Alternatively, you could use the greedy variant