Регулярное выражение для деления 5.55FIX на 5.55 и FIX - PullRequest
0 голосов
/ 21 сентября 2009

Мне нужно проанализировать строку, имеющую запись 5.55FIX, переменная 5.55, 5.55Float. Мне нужно извлечь десятичное значение и строку как отдельные. пожалуйста предложите?

Ответы [ 2 ]

2 голосов
/ 21 сентября 2009

В зависимости от того, где вы собираетесь использовать регулярное выражение, одно из этого, безусловно, сделает свою работу. Группа 1 будет содержать номер, группа 2 будет содержать строку. Конечно, это предполагает, что строка никогда не начинается с числа и без пробела между фактическим числом (в этом случае человек не может даже сказать, если не знает значения числа или значения строки в заранее).


(\d+\.\d+)\W*(\w+)
(\d+\.\d+)\p{Z}*(\w+)

В соответствии с предложением Дрю Ноакс, если вы заботитесь только о десятичной части, вы также можете использовать один из них:


\d+(\.\d+)\W*(\w+)
\d+(\.\d+)\p{Z}*(\w+)

Как предлагает Дэвид Андрес, вы можете улучшить выражения, добавив ^ в начале и $ в конце, если вы собираетесь использовать регулярное выражение для строк, составленных только так, как вы указали в своем посте. Это означает, что с этими двумя символами «5.55FIX» будет соответствовать, но «Значение: 5.55FIX» не будет.

0 голосов
/ 21 сентября 2009

Другое решение, которое подойдет для ваших точных вопросов, было бы ...

^(5\.55)(FIX)$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...