Member 13276583 Ответов: 1

Не могли бы вы объяснить, как это регулярное выражение работает в этом коде ?


public class Math {
	public static void compare(String A, String B) {
		int a;
	    a= S.replaceAll("[^" + J + "]" , "").length();
	String b = S.replaceAll("[^"+ J +"]", "");
	    System.out.println(a is +a);
	    System.out.println(b is +b);
	    
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String A= "AHhB";
		String B="CKDADEGEGAh";
	Math.compare(J, S);
	}<pre lang="java">


}

Что я уже пробовал:

Выход :а-3
б это ААА
Мое понимание : [^J] соответствует символу, которого нет в строке J.
Но что толку от “[^” и “]”

Patrice T

Вы уверены, что этот код работает ?

1 Ответов

Рейтинг:
5

Richard MacCutchan

Это означает, что все символы, которые не находятся в наборе в скобках. Так [^abc] означает любой символ кроме a или b или c. Видеть RegExr: Learn, Build, & Test RegEx[^]