1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

Регулярные выражения

Тема в разделе "Java", создана пользователем Dasha, 29 май 2006.

Статус темы:
Закрыта.
  1. Dasha

    Dasha Гость

    помогите пожайлуста найти ошибку в программе. Мне нужно чтобы вывадилось совпавшее выражение. Может быть я использую неправильный метод? Заранее спасибо!

    import java.util.regex.*;


    public class Test {
    public static final Pattern pattern = Pattern.compile
    ("[\\s\\d{1,2,3}\\u002E\\d{1,2,3}\\u002E\\d{1,2,3}\\u002E\\d{1,2,3}]");


    public static void main(String[] args) {

    String lala = "[ Call 8687 " +
    "from kel@sip:kel@192.168.100.100:5060;transport=udp" +
    "SDP:v=0" +
    "o=keller 0 0 IN IP4 192.168.100.60" +
    "c=IN IP4 192.168.100.60" +
    "]";

    Matcher matcher = pattern.matcher(lala);

    boolean d = matcher.find();

    if (d==true)
    {
    System.out.println(matcher.group());
    }
    }
    }
    И еще правильно я составила регулярное выражение,если мне нужен IP-адрес - 192.168.100.60, но он может быть и другим....
     
  2. mkredaktor

    mkredaktor Гость

    сейчас глянем что к чему.
     
  3. mkredaktor

    mkredaktor Гость

    завтра напишу что и как. а то поздно уже.
     
  4. mkredaktor

    mkredaktor Гость

    Вот лови. работает. переделаешь под свои нужды. если тебе нужна будет помощь то обращайся. Всегда буду рад помочь :D

    import java.util.regex.*;

    public class Test
    {
    private static String REGEX = "[\\s\\d{1,2,3}\\u002E\\d{1,2,3}\\u002E\\d{1,2,3}\\u002E\\d{1,2,3}]";
    private static String INPUT = "[ Call 8687 "
    + "from kel@sip:kel@192.168.100.100:5060;transport=udp" + "SDP:v=0"
    + "o=keller 0 0 IN IP4 192.168.100.60" + "c=IN IP4 192.168.100.60"
    + "]";
    private static Pattern pattern;
    private static Matcher matcher;
    private static boolean found;

    public static void main(String[] args)
    {
    pattern = Pattern.compile( REGEX );
    matcher = pattern.matcher(INPUT);

    System.out.println("Current REGEX is: "+REGEX);
    System.out.println("Current INPUT is: "+INPUT);

    while(matcher.find()) {
    System.out.println("I found the text \"" + matcher.group() +
    "\" starting at index " + matcher.start() +
    " and ending at index " + matcher.end() + ".");
    found = true;
    }

    if(!found){
    System.out.println("No match found.");
    }

    }
    }
     
  5. Dasha

    Dasha Гость

    Спасибо за ответ! Но я уже разобралась :) Регулярное выражение как написал ты ищет все цифры или точки. А мне надо было опред. конструкию (ххх.ххх.ххх.ххх, где х-любая цифра). Поэтому я составила так ("\\s[0-9]{1,3}\\u002E[0-9]{1,3}\\u002E[0-9]{1,3}\\u002E[0-9]{1,3}").
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей