Я написал программу, которая просит пользователя о целевой строке и шаблоне, который будет искать в ней. Он предназначен для поиска позиции соответствующего шаблона и сколько раз он присутствует в целевой строке. Но он всегда показывает, что шаблон не обнаруживался, даже если шаблон присутствует в целевой строке.
Я написал функцию SearchPattern () < /code> для него. import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
private static Scanner sc = new Scanner(System.in);
public static void main(String[] args)
{
String pattern,target;
System.out.println("Enter Target String: ");
pattern = sc.nextLine();
System.out.println("Enter pattern to be searched: ");
target = sc.nextLine();
searchPattern(pattern,target);
}
public static void searchPattern(String pattern,String target)
{
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(target);
int count = 0;
//if(!m.find())return;
while (m.find())
{
count ++;
System.out.println(m.start() + "--" + m.end() + "--" + m.group());
}
if (count == 0)
System.out.println("Your pattern was not found in the target string");
else
System.out.println("Total occurrences of 'ab' are" + count);
}
}
< /code>
дает следующий вывод: < /p>
Enter Target String:
ababbab
Enter pattern to be searched:
ab
Your pattern was not found in the target string
< /code>
Даже если в целевой строке присутствует 'ab', почему этот код не работает < /p>
Подробнее здесь: https://stackoverflow.com/questions/596 ... ting-requi