Регулярные выражения – это мощные инструменты для сопоставления с образцом и манипулирования данными. В этой статье блога мы рассмотрим различные методы извлечения ровно двух чисел с помощью регулярных выражений. Мы предоставим примеры кода для каждого метода, что позволит вам выбрать тот, который лучше всего соответствует вашим требованиям.
Метод 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}");
}
В этой статье мы рассмотрели четыре различных метода извлечения ровно двух чисел с помощью регулярных выражений. Эти методы обеспечивают гибкость для различных сценариев, позволяя адаптировать шаблон к вашим конкретным потребностям. Регулярные выражения – это мощные инструменты для манипулирования данными. С помощью этих примеров кода вы легко сможете извлечь два числа из заданного текста.
Не забудьте поэкспериментировать с предоставленными примерами кода и адаптировать их к выбранному вами языку программирования. Удачного извлечения чисел!