use*_*428 -2 regex objective-c
在Objective-C中处理正则表达式时,正确的语法是什么?
假设我有以下字符串:
NSString *string = @"my string";
Run Code Online (Sandbox Code Playgroud)
以及以下正则表达式:
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(a|b)*"];
Run Code Online (Sandbox Code Playgroud)
如果我必须匹配这个正则表达式的字符串,将遵循足够的?
if(NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(a|b)*"]) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
如果字符串与regexp ^^匹配,我习惯于Java matches已经返回的Javatrue
你在if语句中做的只是检查是否创建了正则表达式.你从不匹配任何东西.
您缺少numberOfMatchesInString:options:error:方法(或任何其他匹配方法).它们都可以在文档中找到.
您正在寻找的代码将是这样的:
NSString *string = @"my string";
NSError *error = NULL;
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:@"(a|b)*"
options:0
error:&error];
// Check error here... (maybe the regex pattern was malformed)
NSUInteger numberOfMatches = [regex numberOfMatchesInString:string
options:0
range:NSMakeRange(0, [string length])]; // Check full string
if (numberOfMatches > 0) {
// You have at least one match ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4848 次 |
| 最近记录: |