代码之家  ›  专栏  ›  技术社区  ›  Asdrubal sameera207

目标C Regex Line以数字开头

  •  1
  • Asdrubal sameera207  · 技术社区  · 10 年前

    我需要一个正则表达式字符串来查找以数字开头的行。我未来的目标是找到一份有序的清单。所以如果你也知道怎么做,我会很感激。但我不知道如何找到以数字开头的行。

    这是我到目前为止的情况。

    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(^[0-9].*)" options:0 error:nil];
    

    例子:

    1. Hello
    2. World
    3. How's it going eh?
    4. Another example string
    

    它应该匹配所有这些字符串

    1 回复  |  直到 10 年前
        1
  •  1
  •   Wiktor Stribiżew    10 年前

    要匹配多行输入,需要指定 (?m) 多行修饰符。中列出了可用的 NSRegularExpression Class Reference :

    (?ismwx ismwx:…)
    标志设置。使用启用或禁用的指定标志对带括号的表达式求值。标志在标志选项中定义。

    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?m)^[0-9].*" options:0 error:nil];
                                                                                     ^^^^
    

    此模式使 ^ $ 在开始和结束时匹配 线 ,而不是整个字符串。

    还要注意,在整个图案周围使用捕捉组是不有效的,因为整个匹配总是被捕捉到组1中(例如。 [match rangeAtIndex:0]; ). 因此,我删除了捕获组(括号)。