Я пытаюсь записать разрешенные и запрещенные правила файла robots.txt в java, используя следующий код: -
package robotest;
public class RoboTest {
public static void main(String[] args) {
String robo="user-agent:hello user-agent:ppx user-agent:bot allow:/world disallow:/ajax disallow:/posts user-agent:abc allow:/myposts/like disallow:/none user-agent:* allow:/world";
String[] strarr=robo.split(" ");
String[] allowed={};
String[] disallowed={};
boolean new_block=false;
boolean a_or_d=false;
for (String line: strarr){
if(line!=""){
if(line.contains("user-agent:pp")==false && a_or_d){
break;
}
if (line.contains("user-agent:ppx")||(new_block )){
new_block=true;
System.out.println(line);
if(line.contains("allow") || line.contains("disallow")){
a_or_d=true;
}
if(line.contains("allow:")){
//append to allowed
}
if(line.contains("disallowed")) {
//append to disallowed
}
}
}
System.out.println(allowed);;
}
}
}
Код не работает должным образом, как я ожидаю. Правила строки robots.txt отделяются пробелом. Я хочу захватить правила пользовательского агента PPX. Код должен искать блокировку или запрещение после обнаружения user-agent: ppx и добавлять их в список. Но это не работает и сбивает с толку. Я также новичок в регулярных выражениях в java. Какое может быть решение для этого.