首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何匹配Rust match表达式中的多个字符?

如何匹配Rust match表达式中的多个字符?
EN

Stack Overflow用户
提问于 2020-02-07 03:46:06
回答 2查看 2.9K关注 0票数 2

我正在用Rust写一个编译器。作为词法分析器的一部分,我尝试将输入流中的单个字符与一定范围内的字符(多个)进行匹配。我目前正在尝试一种使用..运算符的方法。

代码语言:javascript
复制
match input_token {
    'Z'..'a' => { // I want to match any character from 'a' -> 'z' and 'A' -> 'Z' inclusive
        ... run some code
    }
}

是否可以在Rust match表达式/语句的单个臂中匹配多个值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-07 04:36:12

包含范围的模式是begin..=end,您可以使用|组合模式,因此您需要

代码语言:javascript
复制
match input_token {
    'A'..='Z' | 'a'..='z' => {
        ... run some code
    }
}
票数 7
EN

Stack Overflow用户

发布于 2020-05-23 11:53:19

另一种方法是使用if模式来处理更复杂的情况:

代码语言:javascript
复制
match input_token {
    token if token.is_ascii_alphabetic() {
        // ... 
    }
    // ...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60102442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档