11
Июн
2021

Составить регулярное выражение для замены одинарного знака сравнения

Необходимо в условии заменить одинарный знак '=' на двойное. Перед и после знака равно могут быть пробелы. Условия со знаками: '>=', '<=', '==', '!=' оставить как есть.

 public class ReplaceSingleCharCompare {
   public static void main(String[] args) {
     String exp = "if (a=b)"; // должно быть if (a == b)
 //    exp = "if (a=b & b = c)"; // должно быть if (a == b & b == c)    
 //    exp = "if (a=b & b <= c)"; // должно быть if (a == b & b <= c)
 //    exp = "if (a>=b && b = 1 && b <= c)"; // должно быть if (a>=b && b == 1 && b <= c)
 //    exp = "if (a>=b && b == 1 && b <= c && c=0)"; // должно быть if (a>=b && b == 1 && b <= c && c == 0)
 //    exp = "if (a>=b && b <= c)"; // должно быть if (a>=b && b <= c)

     exp = exp.replaceAll("if \\((.+?)=(.+?)\\)", "if ($1 == $2)");

     System.out.println(exp);
   }
 }

Источник: https://ru.stackoverflow.com/questions/1294065/%D0%A1%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B5-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D1%8B-%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B7%D0%BD%D0%B0%D0%BA%D0%B0-%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F

Тебе может это понравится...

Добавить комментарий