Извлечение двух чисел с помощью регулярных выражений: изучены различные методы

Регулярные выражения – это мощные инструменты для сопоставления с образцом и манипулирования данными. В этой статье блога мы рассмотрим различные методы извлечения ровно двух чисел с помощью регулярных выражений. Мы предоставим примеры кода для каждого метода, что позволит вам выбрать тот, который лучше всего соответствует вашим требованиям.

Метод 1: простое извлечение чисел
Шаблон регулярного выражения: ([0-9]+).*?([0-9]+)
Объяснение: этот шаблон фиксирует две последовательности цифр, разделенных любым символы между ними.

Пример кода (Python):

import re
text = "This is a sample text with 123 and 456 numbers."
pattern = r'([0-9]+).*?([0-9]+)'
match = re.search(pattern, text)
if match:
    number1 = match.group(1)
    number2 = match.group(2)
    print(f"Number 1: {number1}")
    print(f"Number 2: {number2}")

Метод 2: указание длины числа
Шаблон регулярного выражения: \b(\d{2})\b
Объяснение: этот шаблон фиксирует двузначные числа с помощью выражения \d{2}, которое точно соответствует две цифры.

Пример кода (JavaScript):

const text = "This is a sample text with 12 and 34.";
const pattern = /\b(\d{2})\b/g;
const matches = text.match(pattern);
if (matches) {
    const number1 = matches[0];
    const number2 = matches[1];
    console.log(`Number 1: ${number1}`);
    console.log(`Number 2: ${number2}`);
}

Метод 3: разделение определенным символом
Шаблон регулярного выражения: (\d+)-(\d+)
Объяснение: этот шаблон фиксирует два числа, разделенных дефисом (-).

Пример кода (Ruby):

text = "Two numbers: 123-456"
pattern = /(\d+)-(\d+)/
match = text.match(pattern)
if match
  number1 = match[1]
  number2 = match[2]
  puts "Number 1: #{number1}"
  puts "Number 2: #{number2}"
end

Метод 4: извлечение непоследовательных чисел
Шаблон регулярного выражения: \b(\d+)\D+(\d+)\b
Объяснение: этот шаблон фиксирует два непоследовательных числа, допуская любые не -цифровые символы между ними.

Пример кода (C#):

using System;
using System.Text.RegularExpressions;
string text = "The numbers are 123 and 456.";
string pattern = @"\b(\d+)\D+(\d+)\b";
Match match = Regex.Match(text, pattern);
if (match.Success)
{
    string number1 = match.Groups[1].Value;
    string number2 = match.Groups[2].Value;
    Console.WriteLine($"Number 1: {number1}");
    Console.WriteLine($"Number 2: {number2}");
}

В этой статье мы рассмотрели четыре различных метода извлечения ровно двух чисел с помощью регулярных выражений. Эти методы обеспечивают гибкость для различных сценариев, позволяя адаптировать шаблон к вашим конкретным потребностям. Регулярные выражения – это мощные инструменты для манипулирования данными. С помощью этих примеров кода вы легко сможете извлечь два числа из заданного текста.

Не забудьте поэкспериментировать с предоставленными примерами кода и адаптировать их к выбранному вами языку программирования. Удачного извлечения чисел!