Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 9
1

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

02.05.2017, 02:28. Показов 1043. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, написать регулярное выражение, которое будет проверять чтобы было два слова в строке одинаковой длины.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2017, 02:28
Ответы с готовыми решениями:

Регулярное выражение
Здравствуйте!Как задать регулярное выражение для стороки "DSCN0497 (FILEminimizer).JPG" для...

Регулярное выражение
Есть html код который нужно так сказать распарсить, делаю так: Pattern p =...

регулярное выражение
Необходимо реализовать консольную программу, которая бы фильтровала поток текстовой информации...

Регулярное выражение
Здравствуйте! Помогите понять следующее регулярное выражение ".*". Не могу вникнуть в символьный...

6
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
02.05.2017, 11:03 2
Lycrois, к сожалению, я не могу понять, что вам нужно слишком абстрактно вы ставите задачу
Но, с помощью этой проги, надеюсь, вы сможете сделать все сами
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class RegexTestHarness {
 
    public static void main(String[] args){
        Scanner console = new Scanner(System.in);
 
        while (true) {
            System.out.println("Введите регулярное выражение:");
            Pattern pattern = Pattern.compile(console.nextLine());
            System.out.println("Введите к чему РВ применять:");
            Matcher matcher = pattern.matcher(console.nextLine());
 
            boolean found = false;
            while (matcher.find()) {
                System.out.printf("I found the text" +
                                " "%s" starting at " +
                                "index %d and ending at index %d.%s",
                        matcher.group(),
                        matcher.start(),
                        matcher.end(),"\n");
                found = true;
            }
            if(!found){
                System.out.println("No match found.");
            }
        }
    }
}
Добавлено через 17 минут
Простите, еще нужен импорт:
Java
1
2
3
mport java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
0
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 9
02.05.2017, 11:07  [ТС] 3
Aviz__, нужно написать регулярное выражение, которое будет соответствовать строке только в том случае, когда она содержит два слова через пробел и они одинаковой длины. Пример:"Hello Helen" - подходит, "Good day" - не подходит
0
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
02.05.2017, 11:48 4
Lycrois, программка вам поможет, уверен, вы справитесь!
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
02.05.2017, 11:51 5
Lycrois, почему нельзя просто сплитом разбить?
регуляркой в данном случае тупо и вообще врятли возможно
0
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 9
02.05.2017, 11:55  [ТС] 6
Паблито,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public final class NameChecker {
    private static final String REGEX            = " ";
    private static final int    LENGTH_FULL_NAME = 2;
 
    public static boolean checkLength(final String name) {
        final Pattern p = Pattern.compile(NameChecker.REGEX);
        final String[] items = p.split(name);
        if (items.length != NameChecker.LENGTH_FULL_NAME) {
            throw new IllegalArgumentException("incorrect full name");
        }
        return items[0].length() == items[1].length();
    }
 
}
Я сделала с помощью сплита, но по заданию просят с помощью регулярки
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
02.05.2017, 12:17 7
Лучший ответ Сообщение было отмечено Lycrois как решение

Решение

ничего кроме этого пока что в голову не приходит
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class NameChecker {
 
    private final static Pattern pattern = Pattern.compile("(^\\S+\\b)\\s(\\b\\S+$)");
 
    public static void main(String[] args) {
 
        String str1 = "Hello Helen"; // true
        String str2 = "Good day"; // false
        String str3 = "Good good!"; // false
 
        System.out.println(isValid(str1));
        System.out.println(isValid(str2));
        System.out.println(isValid(str3));
 
    }
 
    private static boolean isValid(String str) {
        final Matcher m = pattern.matcher(str);
        return m.matches() && m.groupCount() == 2 && m.group(1).length() == m.group(2).length();
    }
}
1
02.05.2017, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2017, 12:17
Помогаю со студенческими работами здесь

Регулярное выражение
Доброго времени суток нужно помощь в составлении регулярного выражения для разбиения стоки, т.е ...

Регулярное выражение и \
Собственно пока особо не разбираюсь в RegExp , но код регулярка "+" отказывается искать "\\" ...

Регулярное выражение
Помогите пожалуйста составить регулярное выражение для функции replaceAll, которое заменяло бы...

Регулярное выражение
Добрый день. Есть строка вида: String st = " CREATE TABLE testTableWithReference( id int...

Регулярное выражение
У меня есть определенный html код. Помогите пожалуйста вытащить через регулярное выражения java...

Регулярное выражение
есть строка в ней 5 чисел друг за другом за ними идет точка и пробел:"12345. " нужно проверить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru