尽管您链接到 PHP 手册,但该strspn()
函数来自 C 库,以及strlen()
、strcpy()
、strcmp()
等。
strspn()
是一个方便的替代方案,可以替代逐个字符地挑选字符串,测试这些字符是否与一组值中的一个匹配。在编写标记器时它很有用。另一种选择strspn()
是使用大量重复且容易出错的代码,如下所示:
for (p = stringbuf; *p; p++) {
if (*p == 'a' || *p == 'b' || *p = 'c' ... || *p == 'z') {
/* still parsing current token */
}
}
Run Code Online (Sandbox Code Playgroud)
你能发现错误吗?:-)
当然,在内置支持正则表达式匹配的语言中,strspn()
这没有什么意义。但是当用 C 语言编写 DSL 的基本解析器时,它非常漂亮。
归档时间: |
|
查看次数: |
1833 次 |
最近记录: |