1

我正在尝试匹配以下行:

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. 匹配线的其余部分

我相信这会破坏我的字符串的方式是这样的:

  1. 801。
  2. 我们的发起费用(包括发起点 (s) % 或 $ )
  3. (来自 GRE #1
  4. (没有什么)
  5. 1,169.00

然而,这种情况并非如此。我的正则表达式与此字符串不匹配。任何想法为什么?

4

2 回答 2

7

逃脱你的美元符号$。这是行尾锚点

.*801\..*\(f\s?rom.*\$\s?(.*)
于 2012-12-06T19:48:50.243 回答
1
.*801\..*\(f\s?rom.*\$\s?.*

转义 $ 字符。并删除最后的括号。这个正则表达式与字符串完全匹配。

于 2012-12-06T22:44:37.197 回答