菜鸟教程小白 发表于 2022-12-13 01:18:40

ios - 通过正则表达式验证 IP 地址 - 未知的转义序列


                                            <p><p>我正在开发一个需要使用正则表达式来验证 ipv4 地址的 iOS 项目。</p>

<p>我使用以下代码</p>

<pre><code>// only support ip4 currently
NSRegularExpression *regex = [NSRegularExpression
                              regularExpressionWithPattern:@&#34;^(?:(?:25|2|??)\.){3}(?:25|2|??)$&#34;
                              options:0
                              error:nil];

NSUInteger numberOfMatches = )];
return (numberOfMatches==1?TRUE:FALSE);
</code></pre>

<p>XCode 不断警告我“未知的转义序列。”。当我输入“1.3.6.-6”或“2.3.33”时返回true。</p>

<p>如何在正则表达式中使用点(.)?谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您需要对 <code>.</code> 加双反斜杠,因为第一个反斜杠正在由 NSString 解释,它正在寻找 <code>.</code> 的转义字符(不存在)。双反斜杠 (<code>\\.</code>) 将导致第一个反斜杠转义第二个反斜杠(确实存在),这意味着您可以正常使用 <code>\</code>。</p>

<p>例如,您的正则表达式将是:</p>

<pre><code>@&#34;^(?:(?:25|2|??)\\.){3}(?:25|2|??)$&#34;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 通过正则表达式验证 IP 地址 - 未知的转义序列,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15095181/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15095181/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 通过正则表达式验证 IP 地址 - 未知的转义序列