如何在 Rust 匹配表达式中匹配多个字符?

Tey*_*dge 2 rust

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

match input_token {
    'Z'..'a' => { // I want to match any character from 'a' -> 'z' and 'A' -> 'Z' inclusive
        ... run some code
    }
}
Run Code Online (Sandbox Code Playgroud)

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

mca*_*ton 6

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

match input_token {
    'A'..='Z' | 'a'..='z' => {
        ... run some code
    }
}
Run Code Online (Sandbox Code Playgroud)