cocoa – 如何使用NSScanner以^ [a-zA-Z _]的形式进行扫描[a-zA-Z0-9 _] *

cocoa – 如何使用NSScanner以^ [a-zA-Z _]的形式进行扫描[a-zA-Z0-9 _] *,第1张

概述我正试图让我的NSScanner尝试扫描以下正则表达式:[a-zA-Z _] [a-zA-Z0-9 _] *,但我遇到了困难. 我可以尝试首先读取a-Z_,然后尝试追加a-Z0-9_. 我想知道是否有更简单/更有效的方法.请让我知道,谢谢. 澄清: 我不是要尝试执行正则表达式.我只是想读一个看起来像上面的正则表达式的字符串.看起来类似于C风格变量的东西.基本上,任何字母数字,但不能以数字开头. 澄 我正试图让我的NSScanner尝试扫描以下正则表达式:[a-zA-Z _] [a-zA-Z0-9 _] *,但我遇到了困难.

我可以尝试首先读取a-Z_,然后尝试追加a-Z0-9_.

我想知道是否有更简单/更有效的方法.请让我知道,谢谢.

澄清:
我不是要尝试执行正则表达式.我只是想读一个看起来像上面的正则表达式的字符串.看起来类似于C风格变量的东西.基本上,任何字母数字,但不能以数字开头.

澄清2:
我试图让扫描仪读取([]表示每个读取令牌):
 “测试3”为[测试,3]
 “test3”为[test3]
 “3测试”为[3,测试]
 “_3test”为[_3test]
 “_3测试”为[3,测试]
 “3 3test”为[,3,测试]
 “3 test3”为[_,test3]

解决方法 你需要两个字符集:

> [NSCharacterSet letterCharacterSet]
> [NSCharacterSet alphanumericCharacterSet]

使用这些将使您能够匹配Unicode中的所有字母和数字,而不仅仅是英文字母和数字集.如果你真的只想要那些更小的集合,它们很容易使用characterSetWithCharactersInString:和/或characterSetWithRange:构造.如果使用后一种方法,你需要在其中创建一个NSMutableCharacterSet和union另一个字符集.

一旦你拥有了你的角色,就很容易scan characters only characters within a set然后,如果你想,concatenate one string onto the other.

总结

以上是内存溢出为你收集整理的cocoa – 如何使用NSScanner以^ [a-zA-Z _]的形式进行扫描[a-zA-Z0-9 _] *全部内容,希望文章能够帮你解决cocoa – 如何使用NSScanner以^ [a-zA-Z _]的形式进行扫描[a-zA-Z0-9 _] *所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1001178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存