Регулярное выражение для десятичного числа с точностью до 2 и символов - PullRequest
0 голосов
/ 25 октября 2018

Я новичок в регулярном выражении и пытаюсь сформировать регулярное выражение для сценариев ниже, имеющих комбинацию букв и десятичного числа с точностью до 2:

GBP 23.44   -> Valid

23.44       -> Valid

23          -> Valid

23 GBP      -> Valid

234.44 GBP  -> Valid

234.44      -> Valid

23.334 GBP  -> Invalid

234.443 GBP -> Invalid

234& GBP    -> Invalid  

Более того, нельзя допускать использование других символов, кромеAZ и az и число с 2 точностью.

Моя попытка :

Я пытался ^[Aa-Zz][0-9]+(\\.[0-9]{1,2})?$, но это не работает, так как всегда нужно следовать номерам выраженийпосле того, как такие символы, как 234.44 GBP не совпадают.

Я не могу сформировать точное выражение, которое удовлетворяет всем сценариям.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 25 октября 2018

Похоже, что только в матчах, которые будут отклонены, число имеет 3 десятичных знака, а GBP не имеет значения, если оно сопровождается числом.Вы можете использовать это регулярное выражение,

^(?!\d+\.\d{3})[a-zA-Z0-9. ]*$

Демонстрация здесь, https://regex101.com/r/1HlV8z/2

Дайте мне знать, если он работает нормально для вас, или у вас есть какие-либо другие пользовательские потребности.

Edit1: Обновлено мое регулярное выражение, чтобы удовлетворить ваши действительные потребности персонажа.Допустимые допустимые символы: верхний / нижний алфавит, цифры, точка и пробел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...