ios - 使用正则表达式验证字符串
<p><p>我想验证一个字符串以检查它是否是字母数字并包含“-”和“。”与字母数字字符。所以我做了这样的事情来形成正则表达式模式</p>
<pre><code>NSRegularExpression *regex = "
options:NSRegularExpressionCaseInsensitive
error:&error];
NSPredicate *regexTest = ;
BOOL valid = ;
</code></pre>
<p>应用程序崩溃,表明无法形成正则表达式模式。谁能给我一个快速修复我做错了什么?提前致谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您必须将 <code>NSString</code> 类型的变量传递给 <code>NSPredicate</code> <em>SELF MATCHES</em>:</p>
<pre><code>NSString * URL_Query = @"PAS.S.1-23-";
NSString * regex = @"+";
NSPredicate *regexTest = ;
BOOL valid = ;
</code></pre>
<p>见 <a href="https://ideone.com/vm4Mg4" rel="noreferrer noopener nofollow">Objective C demo</a> </p>
<p>请注意,您不需要带有 <em>SELF MATCHES</em> 的 anchor (正则表达式默认锚定)并且您需要添加 <code>+</code> 以匹配一个或多个允许符号,或者<code>*</code> 匹配 0+(也允许空字符串)。</p>
<p>您不需要在字符类的开头/结尾处转义连字符,并且字符类中的点被视为文字点字符。</p>
<p>此外,由于模式中同时存在小写和大写 ASCII 字母范围,因此您无需将任何不区分大小写的标志传递给正则表达式。</p></p>
<p style="font-size: 20px;">关于ios - 使用正则表达式验证字符串,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/40676896/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/40676896/
</a>
</p>
页:
[1]