import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "((?<=\\/23836\\*).+?(?=\\*23836\\/))|((?<=\\/23836\\/)[^*].+?[\\n])";
final String string = "#include <iostream>\n"
+ "#include <stdlib.h>\n\n"
+ "#define MAX 256\n"
+ "/23836//23836/Definiramo konstanto MAX\n\n"
+ "int main() {\n"
+ " /23836*Vstopna točka programa\n"
+ " Ne uporabljamo parametrov pri main, kjer jih ne potrebujemo\n\n"
+ " *23836/\n"
+ " printf(\"\");/23836/izpis vrednosti konstante MAX\n\n"
+ " return 0;\n"
+ "}\n"
+ "/23836/Končamo z izvajanjem programa\n\n"
+ "/23836//23836/komentar/23836/\n\n"
+ "/23836//23836*Testni komentar/23836/ /23836* /23836/\n\n"
+ "/23836*komentar/23836/nov komentar/test/23836/*23836/\n\n"
+ "/23836*/**Kaj pa ta vzorec?*/23836* /23836**23836/\n\n\n\n"
+ "(?<=\\/23836\\/).*?|(?<=\\/23836\\*)[\\S\\s]*(?=\\*23836\\/)/gmU\n"
+ "((?<=\\/23795\\*).+?(?=\\*23795\\/))|((?<=\\/23795\\/)[^*].+?[\\n])\n\n"
+ "(?<=\\/23836\\/).*$|(?<=\\/23836\\*)(.*$\\n.*\\n.*\\n.*)(?=\\*23836\\/)|(?<=\\/23836\\*)(.|\\n)*(?=\\*23836\\/)|(?<=\\/23836\\*).*(?=\\*23836\\/)";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.DOTALL);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html