Notepad ++ Expression根据需要更改文本

时间:2016-12-02 22:41:14

标签: regex notepad++

我有文本文件,我正在使用Notepad ++ 和文本看起来像这样:

42105-100 - 42110-131
42200-100 - 42221-131
42400-100 - 42400-131
42550-100 - 42550-131
55000-100 - 55000-131 

现在我需要一个正则表达式将此文本转换为

OR ( FromAccount = 42105 AND FromBranch= 100  AND ToAccount = 42110 AND ToBranch = 131)
OR ( FromAccount = 42200 AND FromBranch= 100  AND ToAccount = 42221 AND ToBranch = 131)
OR ( FromAccount = 42400 AND FromBranch= 100  AND ToAccount = 42400 AND ToBranch = 131)
OR ( FromAccount = 42550 AND FromBranch= 100  AND ToAccount = 42550 AND ToBranch = 131)
OR ( FromAccount = 55000 AND FromBranch= 100  AND ToAccount = 55000 AND ToBranch = 131)

我知道这可以通过创建正则表达式来实现,只需点击"全部替换"按钮。但问题是我无法创建这个表达式。

请帮我创建这个表达式

1 个答案:

答案 0 :(得分:1)

您可以使用

^(\d{5})-(\d{3}) - (\d{5})-(\d{3})$

并替换为OR \( FromAccount = $1 AND FromBranch= $2 AND ToAccount = $3 AND ToBranch = $4\)

<强>详情:

  • ^ - 开始行
  • (\d{5}) - 第1组($1):5位数
  • - - 连字符
  • (\d{3}) - 第2组($2):3位数
  • - - 空格中的连字符
  • (\d{5}) - 第3组($3):5位数
  • - - 连字符
  • (\d{3}) - 第4组($4):3位数
  • $ - 行尾

在替换中,必须转义()

enter image description here