ios - 获取 <BR> 和 : without <BR> inside the substring 之间的字符串

标签 ios objective-c regex

我正在尝试在 iOS 上创建正则表达式以获取 <BR> 之间的子字符串和 : .

我已经试过了,但是不行:

<BR>[A-Z](.*[^<BR>]):

这是一个文本示例,我只想获取 THE TEXT I WANT

TEST TEST TEST TEST TEST TEST<BR>THE TEXT I WANT:more text <BR>TEST TEST TEST TESTTEST TESTTEST TEST<BR>TEST TESTTEST TESTTEST TESTTEST TEST<BR>THE TEXT I WANT:TEST TESTTEST TESTTEST TESTTEST TEST

我的正则表达式似乎在第一个 : 之后得到文本并在第二个 : 之后停止我对此不感兴趣。

我想要 THE TEXT I WANT两次都发生,没有别的。

我该怎么做?

最佳答案

我没有任何使用 Objective-C 的经验,所以我无法就实现给出真正的建议。此正则表达式适用于您提供的示例文本。将它与不区分大小写的选项一起使用。 BR 和冒号之间的文本位于捕获组 1 内。

<BR\s*/?\s*>([\w\s]+):

它只允许字母、数字、下划线和空白字符出现在 BR 标签和冒号之间。

您当然可以在字符类中添加其他字符,但是如果您添加所有允许您构建标签的字符,它将不再正常工作。

如果您的正则表达式引擎支持否定前瞻,您可以改用下一个正则表达式。将它与不区分大小写的选项一起使用。

BR 和冒号之间的文本位于捕获组 1 中。

<BR\s*/?\s*>(?![^:]+<BR\s*/?\s*>)([^:]+):

这是最后一个正则表达式的粗略分解:

<BR\s*/?\s*>            #Match the starting BR tag.
(?![^:]+<BR\s*/?\s*>)   #Make sure that there are no BR tags between this BR tag and the next colon character.
([^:]+):                #GROUP 1: Match every character up to the next colon character.

关于ios - 获取 <BR> 和 : without <BR> inside the substring 之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843003/

相关文章:

ios - 如何在iOS中触摸屏时隐藏键盘

ios - 动画DidStop : finished: delegate method not getting called

java - 计算 N 变量多项式字符串

C++ 正则表达式行为

javascript - 在选择器中使用正则表达式

ios - 在水平 UIStackView 的每一端布局两个 UILabels

ios - 在 ViewController 和 tableView 上拉动刷新

ios - 使用指针检索用户信息。解析

objective-c - 何时使用 UIKIT_EXTERN 与仅使用 extern

ios - forwardIncation 不转发调用