尝试将线与正则表达式匹配

时间:2012-12-06 19:46:06

标签: java regex

我正在尝试匹配以下行:

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

我创建了这个正则表达式:

.*801\..*\(f\s?rom.*$\s?(.*)

这应该做的是:

  1. 将所有内容与801匹配。
  2. 匹配任何内容直到(f \ s?rom
  3. 匹配任何内容,直到$
  4. 可选空间
  5. 匹配线路的其余部分
  6. 我认为这会破坏我的字符串就像这样:

    1. 801
    2. 我们的原始费用(包括原始离子点%或$)
    3. (从GRE#1
    4. 开始
    5. (无)
    6. 1,169.00
    7. 但事实并非如此。我的正则表达式与此字符串不匹配。有什么想法吗?

2 个答案:

答案 0 :(得分:7)

逃离您的美元符号$。这是行尾anchor

.*801\..*\(f\s?rom.*\$\s?(.*)

答案 1 :(得分:1)

.*801\..*\(f\s?rom.*\$\s?.*

逃离$字符。并删除最后的括号。此正则表达式与字符串完全匹配。