5

我总是对 Regex 格式如何工作以及如何根据我的要求制作 Regex 感到困惑。我只是复制一些常见的正则表达式格式并粘贴到我的项目中,但显然我们无法根据我们的要求找到每种正则表达式格式。所以我想了解正则表达式。

我只是在一次又一次地运行代码后根据我的猜测做出的,但我仍然对这个正则表达式不太了解

NSString *regexNumber = @"[123456789][0-9]{0}([0-9]{1})?";

这个比较Age,根据这个年龄应该从1-9开始,最少1位,最多2位,只有数字。

现在我想为Name - (exp - vakul, Vakul, vakul saini, Vakul Saini, vakul Saini, Vakul saini 等)、电子邮件电话号码仅字符串生日URL制作正则表达式。但不想复制和粘贴我想了解它们如何工作以及如何制作我自己的正则表达式。

4

2 回答 2

7

正则表达式是由字母数字字符和称为元字符的特殊字符组合而成的文本模式

元字符是:

\ | ( ) [ { ^ $ * + ? . < >

. ---- 相反,它是一个匹配任何字符的特殊元字符。

* ---- * 字符匹配连续出现的零个或多个字符。

+ ---- + 字符类似于*但匹配一个或多个。

? ---- 零个或一个字符实例

{m,n}---- 表示匹配 m 或最多 n 个字符。例如{1,5}匹配 1 个或最多 5 个字符

^---- 它将匹配以它后面的单词开头的任何行

$--- 它会匹配任何以它后面的单词结尾的行

<>--- 匹配它们之间的单词。例如。返回所有包含 abc 的单词

您可以通过使用开始和结束括号字符来形成组或子表达式,因为它们经常被称为: ()( 开始子表达式, ) 结束它

|--- 或参数

[ and ]--- 字符序列。放在序列括号内的任何字符都被视为文字字符,甚至是元字符。唯一的特殊字符是 - 表示字符范围,以及 ^ 用于否定序列。例如。[a-z]

这是正则表达式所需的最基本知识,几乎所有语言都相同。

有关更多详细信息,您可以参考此链接

于 2012-09-24T09:02:37.220 回答
0

你应该使用Regexkit 框架,我发现它是 iOS 中正则表达式的最佳解决方案

于 2012-09-24T08:23:14.680 回答