Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

java / lab2

.doc
Скачиваний:
88
Добавлен:
17.04.2018
Размер:
24.58 Кб
Скачать

Лабораторная работа №2.

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

Цель работы: 1) научиться составлять регулярные выражения. 2) научиться обрабатывать текстовые файлы на языке Java с помощью регулярных выражений.

Продолжительность работы: 4 часа.

    1. Теоретические сведения

Теоретические сведения и подробное описание всех лексем регулярных выражений можно найти в материалах лекции.

      1. Обработка текстовых файлов

Простейшая программа обработки файлов с помощью регулярных выражений приведена ниже. Данная программа подсчитывает количество слов в файле

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class regex {

public static void main(String[] args)

{

if (args.length < 1)

{

System.out.println("No file specifed");

System.exit(1);

}

int count = 0;

Pattern pattern = Pattern.compile("\\w+");

BufferedReader in;

try

{

in = new BufferedReader(new FileReader(args[0]));

String s;

while ((s = in.readLine()) != null)

{

Matcher matcher =

pattern.matcher(s);

while (matcher.find())

count++;

}

} catch (IOException e)

{

e.printStackTrace();

}

System.out.println("Words count: " + count);

}

}

  1. Задания

В качестве исходных файлов можно взять любой файл. В первом задании выводить найденные элементы на экран. Во втором задании результат сохранить в отдельном файле.

    1. Вариант 1

      1. Задание 1. Поиск текста

Создать программу, подсчитывающая в файле:

  1. количество слов длиннее 3 символов

  2. количество слов, закачивающихся на гласную

  3. количество слов в которых встречаются две и более гласные подряд.

  4. Количество слов, в котором встречаются две одинаковые подряд буквы.

      1. Задание 2. Замена текста

Создать программу, которая производит следующие изменения в файле:

  1. заменяет несколько подряд идущих пробелов одним

  2. меняет местами стоящие рядом буквы в слове (не трогая крайние буквы). Например, слово «Java» будет изменено на «Jvaa», «Пример» на «Пиремр», «буква» на «бкува»

    1. Вариант 2

      1. Задание 1. Поиск текста

Создать программу, подсчитывающая в файле:

  1. количество слов, короче 4-х символов

  2. количество слов, заканчивающихся на согласную

  1. количество слов в которых встречаются две и более согласные подряд.

  2. Количество слов, в которой первая и последняя буквы одинаковы.

      1. Задание 2. Замена текста

Создать программу, которая производит следующие изменения в файле:

  1. заменяет несколько подряд идущих переводов строк одним

  2. меняет местами первую и последнюю буквы, не трогая буквы в середине слова. Например, слово «Java» будет изменено на «aavJ», «Пример» на «рримеП», «буква» на «ауквб»

    1. Вариант 3.

      1. Задание 1. Поиск текста

Создать программу, подсчитывающая в файле:

  1. количество числовых констант длиннее 3 символов

  2. количество числовых констант со значением больше «250»

  3. количество числовых констант, делимые без остатка на 100

  4. количество числовых констант, в котором последовательно встречаются две одинаковые цифры

      1. Задание 2. Замена текста

  1. заменяет один или несколько идущих подряд пробельных символа одним переводом строк

  2. округляет числа с плавающей точкой в меньшую сторону (отбрасывает дробную часть). Например: «100,35» на «100», «123» на «123»

    1. Вариант 4.

      1. Задание 1. Поиск текста

Создать программу, подсчитывающая в файле:

  1. количество числовых констант короче 4 символов

  2. количество числовых констант со значением меньше «450»

  3. количество числовых констант, неделимые без остатка на 100

  4. количество числовых констант, в котором первая и последняя цифры одинаковые.

      1. Задание 2. Замена текста

  1. заменяет один или несколько идущих подряд пробелов символом табуляции

  2. умножает числа сплавающей точкой на 10. Например, «123,45» на «1234,5», «123» на «1230», «123,4» на «1234».

Соседние файлы в папке java