【发布时间】:2013-02-01 15:07:55
【问题描述】:
我正在尝试使用正则表达式进行另一种查找/替换,但我遇到了一些奇怪的字符。
总结:
某些行 (在这个克拉分隔的文件中) 在 peren 的 中有一个或两个特定标签(“(S)”或“(N)”) 跟在零件号后面,我需要将它移到 PN 之前。
注意:对于同时带有 (S) 和 (N) 的行,它将始终按以下顺序排列:(S)( N)
主题:
^901A-123^DESC,OF,PROD,AND,STUFF^$28.87^$23.10^--^--^--^--^^
^123B-C45(N)^DESC,OF,PROD,AND,STUFF^$1,224.87^$1,041.10^--^--^--^--^^
^333-11(S)(N)^DESC,OF,PROD,AND,STUFF^$510.67^$459.50^$382.90^2^$357.40^4^^
^333-987M-88(S)^DESC,OF,PROD,AND,STUFF^$608.77^$547.90^$456.50^2^$426.10^4^^
我的尝试:
我开始尝试 ^(.+)\(N\)^ 和 ^([A-Za-z0-9]+)\(N\)^ 之类的东西,但很快就开始怀疑 ^(carat) 是否使事情复杂化,所以我尝试 逃避它。
这似乎没有什么区别:)
所以接下来我试着把所有的克拉都改成管道:
|901A-123|DESC,OF,PROD,AND,STUFF|$28.87|$23.10|--|--|--|--||
|123B-C45(N)|DESC,OF,PROD,AND,STUFF|$1,224.87|$1,041.10|--|--|--|--||
|333-11(S)(N)|DESC,OF,PROD,AND,STUFF|$510.67|$459.50|$382.90|2|$357.40|4||
|333-987M-88(S)|DESC,OF,PROD,AND,STUFF|$608.77|$547.90|$456.50|2|$426.10|4||
...并用|([A-Za-z0-9]+)\(N\)|搜索,现在我得到...等待它.....
什么都没有 :)
目标:
虽然现在我对找出 Find 的小胜利感到高兴,但最终目标是用反向引用替换(PN)。
目标是使主题看起来像这样:
^901A-123^DESC,OF,PROD,AND,STUFF^$28.87^$23.10^--^--^--^--^^
(N)^123B-C45^DESC,OF,PROD,AND,STUFF^$1,224.87^$1,041.10^--^--^--^--^^
(S)(N)^333-11^DESC,OF,PROD,AND,STUFF^$510.67^$459.50^$382.90^2^$357.40^4^^
(S)^333-987M-88^DESC,OF,PROD,AND,STUFF^$608.77^$547.90^$456.50^2^$426.10^4^^
欢迎任何和所有的指针/建议。
【问题讨论】:
标签: regex replace backreference editpad