菜鸟教程小白 发表于 2022-12-12 22:49:07

ios - 使用正则表达式验证字符串


                                            <p><p>我想验证一个字符串以检查它是否是字母数字并包含“-”和“。”与字母数字字符。所以我做了这样的事情来形成正则表达式模式</p>

<pre><code>NSRegularExpression *regex = &#34;
                                 options:NSRegularExpressionCaseInsensitive
                                 error:&amp;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 = @&#34;PAS.S.1-23-&#34;;
NSString * regex = @&#34;+&#34;;
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]
查看完整版本: ios - 使用正则表达式验证字符串