diff --git a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs index ac99258457..fe263f1926 100644 --- a/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs +++ b/crates/ruff_linter/src/rules/ruff/rules/unnecessary_regular_expression.rs @@ -241,7 +241,12 @@ impl<'a> ReFunc<'a> { // pattern in string ReFuncKind::Search => Some(self.compare_expr(CmpOp::In)), // string == pattern - ReFuncKind::Fullmatch => Some(self.compare_expr(CmpOp::Eq)), + ReFuncKind::Fullmatch => Some(Expr::Compare(ExprCompare { + range: TextRange::default(), + left: Box::new(self.string.clone()), + ops: Box::new([CmpOp::Eq]), + comparators: Box::new([self.pattern.clone()]), + })), // string.split(pattern) ReFuncKind::Split => Some(self.method_expr("split", vec![self.pattern.clone()])), } diff --git a/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__preview__RUF055_RUF055_0.py.snap b/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__preview__RUF055_RUF055_0.py.snap index fc63097a61..f778d0a023 100644 --- a/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__preview__RUF055_RUF055_0.py.snap +++ b/crates/ruff_linter/src/rules/ruff/snapshots/ruff_linter__rules__ruff__tests__preview__RUF055_RUF055_0.py.snap @@ -1,5 +1,6 @@ --- source: crates/ruff_linter/src/rules/ruff/mod.rs +snapshot_kind: text --- RUF055_0.py:6:1: RUF055 [*] Plain string pattern passed to `re` function | @@ -68,14 +69,14 @@ RUF055_0.py:34:4: RUF055 [*] Plain string pattern passed to `re` function 35 | pass 36 | re.fullmatch("abc", s) # this should not be replaced | - = help: Replace with `"abc" == s` + = help: Replace with `s == "abc"` ℹ Safe fix 31 31 | re.search("abc", s) # this should not be replaced 32 32 | 33 33 | # this should be replaced with "abc" == s 34 |-if re.fullmatch("abc", s): - 34 |+if "abc" == s: + 34 |+if s == "abc": 35 35 | pass 36 36 | re.fullmatch("abc", s) # this should not be replaced 37 37 |