/ / Essayer de faire correspondre la ligne à une expression régulière - java, regex

Essayer de faire correspondre la ligne avec une expression régulière - java, regex

J'essaie de faire correspondre la ligne suivante:

801. Our origination charge (Includes Originat ion Point (s) %  or $ ) (f rom GFE #1)$ 1,169.00

J'ai créé cette expression régulière:

.*801..*(fs?rom.*$s?(.*)

Ce que cela devrait faire, c'est:

  1. Match n'importe quoi jusqu'à 801.
  2. Match n'importe quoi jusqu'à ce que (fs? Rom
  3. Match n'importe quoi jusqu'à $
  4. Espace optionnel
  5. Correspond au reste de la ligne

La façon dont je pense que cela brise ma corde est la suivante:

  1. 801.
  2. Notre taxe d'origination (comprend le (s) point (s) d'origine% ou $)
  3. (de GRE # 1
  4. (rien)
  5. 1,169.00

Cependant, ce n'est pas le cas. Mon expression régulière ne correspond pas à cette chaîne. Des idées pourquoi?

Réponses:

7 pour la réponse № 1

Échapper à votre signe dollar $. C'est la fin de ligne ancre.

.*801..*(fs?rom.*$s?(.*)

1 pour la réponse № 2
. * 801 .. * (fs? Rom. * $ S?. *

Échapper au caractère $. Et supprimez les crochets à la fin. Cette expression rationnelle correspond exactement à la chaîne.