【问题标题】:regular expression and substitution with notepad++ [duplicate]notepad ++的正则表达式和替换[重复]
【发布时间】:2020-10-23 22:44:03
【问题描述】:
  1. 起初我需要一个字符的正则表达式befor 4 数字,然后用另一个字符替换。

示例:E5015 -> AI5015 和 E5090 -> AI5090

Test String
2571130,733 5533151,436 E5015   6   16  E5015   16      
2576626,674 5531614,498 E5090   6   16  E50900  16      
2576614,102 5531577,319 E50/17  1   16  E50/17  16      
2567054,088 5538296,751 E5018   6   16  ;E5018  16  
2576606,227 5531589,142 E5070   6   16  Ei5070  16      
2584724,341 5502054,434 R7070   6   17  F7070   16  
2584735,918 5502107,131 R7014   6   17  R7014   16

正则表达式:[E]\d\d\d

这是一个带有 4个数字的字符,并且不会起作用,因为在替换中您不记得4个数字的值

https://regex101.com/ 是测试正则表达式的有用工具

  1. 然后我不想使用记事本功能替换。

【问题讨论】:

  • this 有帮助吗?
  • 你能根据你展示的样本展示你想要的最终结果吗?
  • ;E5018 呢?尝试使用积极的前瞻 \bE(?=\d\d\d\d\b) 并替换为 AI regex101.com/r/Z9uZmy/1
  • 谢谢大家,很难相信有这么多不同的解决方案,但他们做他们的工作。 :-) 谢谢

标签: regex csv notepad++


【解决方案1】:

您可以使用lookahead 运算符来搜索不匹配的数字:

(E)(?=\d{4})

测试一下here

这是记事本++中的结果

【讨论】:

    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2017-01-28
    • 2015-01-11
    • 2012-12-02
    • 1970-01-01
    • 2019-12-21
    相关资源
    最近更新 更多