gpt4 book ai didi

ios - Double\\in 正则表达式 iOS

转载 作者:行者123 更新时间:2023-11-28 17:57:27 25 4
gpt4 key购买 nike

有人明白这个(([A-Za-z\\s])+)\\?是什么意思吗?
我想知道为什么它应该是 "\\s""\\"

如果我输入 "\s",Xcode 就无法理解,如果我输入 "\?",它就会与 不匹配“?”

我在谷歌上搜索了很多,但没有找到解决方案。有人知道吗?

最佳答案

实际的正则表达式是 (([A-Za-z\s])+)\?。这匹配一个或多个字母和空白字符后跟一个问号。 \ 在这里有两种不同的含义。在第一个实例中,\s 具有固定的含义,代表任何空白字符。在第二种情况下,\? 表示文字问号字符。转义是必要的,因为问号表示前面的一个或没有。

不过,您不能在 C 代码的字符串文字中像这样键入您的正则表达式。 C 还使用反斜杠字符进行一些转义。例如 "\n" 被翻译成一个只包含一个换行符的字符串。还有其他一些具有特殊含义的转义序列。如果反斜杠后面的字符没有特殊含义,则反斜杠将被删除。这意味着如果你想在你的字符串中有一个退格键,你必须写两个。

因此,如果您按照自己的意愿编写正则表达式字符串,您会得到不同的结果,因为它会被解释为 (([A-Za-zs])+)?,它具有完全不同的意义。因此,当您使用 ObjC(或任何其他基于 C 的语言)字符串文字编写正则表达式时,您必须将所有反斜杠字符加倍。

关于ios - Double\\in 正则表达式 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30773409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com