У меня есть проблема со следующим кодом. Я хочу извлечь строки, содержащие атрибут слова. Я использовал http://www.regextester.com/, где это, кажется, работает очень хорошо, но в моей программе строка остается нетронутой. Я не понимаю почему. Может быть, он не использует символы новой строки правильно, поэтому^и $ получают всю строку?Извлечение строк, содержащих слово из строки Java, с использованием regex
Вот код:
String attributes = VS.replaceAll("^(?!attribute).*$", "");
А вот строка:
String vShaderStr =
"attribute vec4 a_position; \n"
+"attribute vec3 a_normal; \n"
+"attribute vec2 a_texCoord; \n"
+"uniform mat4 modelViewMatrix; \n"
+"uniform mat4 projectionMatrix; \n"
+"void main() \n"
+"{ \n"
+" gl_Position = projectionMatrix * modelViewMatrix * a_position; \n"
+"} \n";
Спасибо большое!
Kilian правильно, не могу вставить мой модульный тест здесь, но просто измените строку регулярного выражения на атрибуты String = VS.replaceAll ("(? M)^(! Attribute). * $", "") ; как сказал Килиан – eon
Спасибо большое! он работает сейчас – user826846