Регулярные выражения (regex) — это мощные инструменты для сопоставления с образцом и манипулирования текстом. При работе с числами и десятичными дробями часто необходимо соблюдать определенный формат, например фиксированное количество цифр после десятичной точки. В этой статье мы рассмотрим различные шаблоны регулярных выражений для достижения этой цели, а также примеры кода на различных языках программирования.
- Регулярное выражение с фиксированным количеством цифр:
Давайте начнем с простого требования: сопоставление десятичного числа с ровно двумя цифрами после запятой. Вот шаблон регулярного выражения, который позволяет это сделать:^\d+\.\d{2}$
Объяснение:
^
соответствует началу строки.\d+
соответствует одной или нескольким цифрам до десятичной точки.\.
соответствует самой десятичной точке.\d{2}
соответствует ровно двум цифрам после запятой.$
соответствует концу строки.
Пример кода на Python:
import re
pattern = r"^\d+\.\d{2}$"
numbers = ["3.14", "42.567", "123.4", "0.99"]
for number in numbers:
if re.match(pattern, number):
print(f"Match: {number}")
else:
print(f"No match: {number}")
- Регулярное выражение с переменным количеством цифр.
Если вы хотите сопоставить десятичное число с фиксированным диапазоном цифр после десятичной точки, вы можете изменить шаблон регулярного выражения, включив в него квантификатор диапазона. Например, чтобы сопоставить числа, содержащие ровно две-четыре цифры после запятой, вы можете использовать следующий шаблон:^\d+\.\d{2,4}$
Объяснение:
^
и$
имеют то же значение, что и раньше.\d{2,4}
соответствует диапазону от двух до четырех цифр после десятичной точки.
Пример кода на JavaScript:
const pattern = /^\d+\.\d{2,4}$/;
const numbers = ["3.14", "42.5678", "123.456", "0.99"];
numbers.forEach(number => {
if (pattern.test(number)) {
console.log(`Match: ${number}`);
} else {
console.log(`No match: ${number}`);
}
});
- Регулярное выражение с фиксированным количеством цифр до и после десятичной точки:
Если вам нужно сопоставить числа с фиксированным количеством цифр как до, так и после десятичной точки, вы можете соответствующим образом изменить шаблон регулярного выражения.. Например, чтобы сопоставить числа, содержащие ровно три цифры до и после десятичной точки, используйте следующий шаблон:^\d{3}\.\d{3}$
Объяснение:
^\d{3}
соответствует ровно трем цифрам в начале строки.\.
соответствует десятичной точке.\d{3}$
соответствует ровно трем цифрам в конце строки.
Пример кода на Ruby:
pattern = /^\d{3}\.\d{3}$/
numbers = ["123.456", "987.123", "42.567", "0.99"]
numbers.each do |number|
if pattern.match(number)
puts "Match: #{number}"
else
puts "No match: #{number}"
end
end
Регулярные выражения предоставляют гибкий и эффективный способ сопоставления чисел и десятичных знаков с фиксированным количеством цифр после десятичной точки. Изменяя шаблоны, вы можете адаптировать их к своим конкретным требованиям. Понимание регулярных выражений и их синтаксиса позволит вам обрабатывать сложные числовые шаблоны на различных языках программирования.