RegEx - 匹配数字但在开头排除具有特定数字的数字并匹配所有字符但排除特定字

时间:2014-04-20 17:52:19

标签: regex range notepad++ digits

我必须使用发票和客户ID进行工作。问题是订单混淆了,所以没有简单的Excel工作表可以使用Regex。

我尝试了各种各样的东西(例如Lookahead和Lookbehind),但没有运气。我是RegEx的初学者,所以我很难找到合适的解决方案。现在我正处于需要求助的地步。

我的目标是......

  1. 匹配所有客户ID数字并用空格替换它们 与110xxxx发票号码不匹配
  2. 匹配[A-Z]但不包括“发票”一词。
  3. 数据具有以下要求:

    • Invoice nr始终以110xxxx(8位数)
    • 开始
    • 客户ID(即CID)从不以数字110xxxx
    • 开头
    • 有时CID有7位数,有时8位数

    看起来像这个例子

    Invoice 1100348 Phil McDoe CID 2689578
    CID 1234567, Invoice 1109781, -82, -83 John Miller
    Invoice 1109785, CID 8912345, Franklin Barnes 
    Invoice 1103249 James Brandlin CID 1165278
    Invoice 1103678 Josh Grace CID 7513648
    

1 个答案:

答案 0 :(得分:0)

1 - 删除CID:

1 - 在NotePad ++上打开所需的存档 2 - 点击CTRL + H
3 - 选择标签Replace
4 - 在find字段类型CID (\d+)上 5 - 在replace字段中输入CID

<强> BEFORE:

Invoice 1100348 Phil McDoe CID 2689578
CID 1234567, Invoice 1109781, -82, -83 John Miller
Invoice 1109785, CID 8912345, Franklin Barnes
Invoice 1103249 James Brandlin CID 1165278
Invoice 1103678 Josh Grace CID 7513648

<强> AFTER:

Invoice 1100348 Phil McDoe CID 
CID , Invoice 1109781, -82, -83 John Miller
Invoice 1109785, CID , Franklin Barnes
Invoice 1103249 James Brandlin CID 
Invoice 1103678 Josh Grace CID 

2 - 删除单词INVOICE:

1 - 点击CTRL + H
2 - 选择标签Replace
3 - 在find字段类型INVOICE (110\d+)上 4 - 在replace字段类型\1

<强> BEFORE:

Invoice 1100348 Phil McDoe CID 
CID , Invoice 1109781, -82, -83 John Miller
Invoice 1109785, CID , Franklin Barnes
Invoice 1103249 James Brandlin CID 
Invoice 1103678 Josh Grace CID 

<强> AFTER:

1100348 Phil McDoe CID 
CID , 1109781, -82, -83 John Miller
1109785, CID , Franklin Barnes
1103249 James Brandlin CID 
1103678 Josh Grace CID 

如果你想要它,请告诉我。