Конкретный вопрос о регулярном выражении, связанном с отрицательным просмотром фиксированной ширины.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Конкретный вопрос о регулярном выражении, связанном с отрицательным просмотром фиксированной ширины.

Сообщение Гость »


Я пишу регулярное выражение (для использования в Java, если это важно), которое пытается сопоставить число (может быть с плавающей запятой) после $ (допускает интервал между $ и числом), но только если слово, предшествующее ему, не является словом LOST.

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

Для простоты предположим, что все символы написаны заглавными буквами.

Например, в следующем предложении: «Я ЗАПЛАТИЛ 10,12 ДОЛЛАРА ЗА ПИВО» будет соответствовать 10,12. Для предложения «Я ПОТЕРЯЛ $11,34 В ИГРЕ» совпадений не будет. Для фразы «Я ПОТЕРЯЛ 11,34 ДОЛЛАРА В ИГРЕ И ЗАПЛАТИЛ 10,12 ДОЛЛАРА ЗА ПИВО» все равно будет сопоставлено значение 10,12.

Я придумал регулярное выражение:

.*?(?[0-9]*[.]?[0-9]*).* Мое регулярное выражение обычно работает нормально, хотя мне интересно, есть ли более простой способ его написания/не упускаю ли я какой-либо угловой случай. Одна небольшая проблема заключается в том, что если между LOST и $ имеется более 1 пробела, я все равно не хочу сопоставлять, но в настоящее время мое регулярное выражение будет совпадать. К сожалению, негативный просмотр назад должен иметь фиксированную ширину.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»