【发布时间】:2012-06-04 13:21:19
【问题描述】:
我正在尝试让以下正则表达式在 ios 上运行,以确保用户只输入数字和点。我无法使匹配数超过 0。我也尝试过 NSRange 一个,无论如何这都会给我 0,所以我的正则表达式不起作用,即使我很确定它应该与我有什么。任何建议。
我写的代码在这里,errorRegex 定义在 .h 文件中,regError 也定义了。
errorRegex = [NSRegularExpression regularExpressionWithPattern:@"[^0-9.]*"
options: NSRegularExpressionCaseInsensitive error:®Error];
NSUInteger rangeOfFirstMatch = [errorRegex numberOfMatchesInString:servAmount1TF.text
options:0 range:NSMakeRange(0, [servAmount1TF.text length])];
【问题讨论】:
-
我对你的正则表达式
@"\\b[^0-9^.]*\\b"感到困惑,尤其是第二个插入符号。你想让字符类匹配任何既不是数字也不是小数点的东西?如果是这样,那么我想你想要@"\\b[^0-9.]*\\b"。 -
是的,它是一个多余的 ^,它仍然在 rubular 的网站上工作,所以我认为这不会导致实际错误