Как правильно указать ограничение конца поиска для регулярного выражения?

Как можно составить регулярное выражение для определения записей вида AFKS-12.22 или AED-9.23 (то есть, любое количество символов до точки, после точки строго два числа), без учёта символов, следующих за числами? Попытался использовать выражение .*\.[1-9]{2}, но оно также включает в себя строки вроде CNY-12.23M211223CA6.75. Я также попробовал адаптировать выражение, добавив [^\S] после двух чисел, чтобы исключить любые символы после них, но это не удаляет их. Я попробовал .*\.[1-9]{2}[^\S] и .*\.[1-9]{2}[^\.], но в обоих случаях и на https://regex101.com/ оба вида записей проходят проверку. Можете ли вы подсказать, что я делаю неправильно?
  • 27 октября 2023 г. 13:49
Ответы на вопрос 2
Ваш подход к ограничению конца поиска похож на правильный. Однако проблема заключается в том, что символы `[^\\S]` и `[^\\.]` не выполняют ожидаемое действие в вашем случае.

Вместо этого вы можете использовать символ `$`, который обозначает конец строки. Вот как можно изменить вашу регулярное выражение:

```
.*\.[1-9]{2}$
```

Символ `$` гарантирует, что поиск будет ограничен только числами двух последних символов строки после точки.

Теперь ваше выражение должно работать как ожидается и не будет включать строки, такие как `CNY-12.23M211223CA6.75`.
1. Вы можете использовать регулярное выражение, чтобы проверить соответствие шаблону A-Z{3,4}-\d{1,2}.\d{2}. Здесь A-Z означает любую заглавную букву, {3,4} указывает, что перед ними может быть от 3 до 4 символов, \d{1,2} представляет одну или две цифры, а \d{2} представляет две цифры после точки.

2. Ваше регулярное выражение проверяет соответствие шаблону, который состоит из одной заглавной буквы, за которой следуют от 3 до 4 символов, затем дефис, одной или двух цифр, точки и двух цифр. Если строка соответствует этому шаблону, регулярное выражение вернет true.

3. Если вы хотите проверить соответствие определенному шаблону с использованием регулярного выражения, вы можете использовать A-Z{3,4}-\d{1,2}.\d{2}. Оно соответствует строке, которая начинается с заглавной буквы, после чего идет от 3 до 4 символов, затем дефис, одна или две цифры, точка и две цифры.

4. Для проверки соответствия шаблону, состоящему из одной заглавной буквы, за которой следуют от 3 до 4 символов, дефиса, одной или двух цифр, точки и двух цифр, вы можете использовать регулярное выражение A-Z{3,4}-\d{1,2}.\d{2}.

5. Возможно, вам будет полезно использовать это регулярное выражение: A-Z{3,4}-\d{1,2}.\d{2}. Оно проверяет, соответствует ли строка шаблону, состоящему из одной заглавной буквы, за которой следуют от 3 до 4 символов, дефиса, одной или двух цифр, точки и двух цифр.
Похожие вопросы