E0081

E0081#

Warning name: regex_match_missing_after

非流式 lexscan 模式可以留下未匹配的输入后缀,但该模式没有绑定或显式忽略这个后缀。

对于 StringStringView 输入,匹配必须在输入末尾结束时,请添加 $;需要绑定或忽略剩余后缀时,请添加 after=

错误示例#

///|
pub fn starts_with_digits(input : String) -> Bool {
  lexscan input {
    re"^[0-9]+" => true
    _ => false
  }
}

建议#

将正则锚定在结尾,或使用 after=suffixafter=_ 显式处理后缀。

///|
pub fn starts_with_digits(input : String) -> Bool {
  lexscan input {
    (re"^[0-9]+", after=_) => true
    _ => false
  }
}