Notepad ++ Regex重新排序字符串

时间:2018-04-26 14:06:21

标签: regex notepad++

我正在开发一个需要重新排序某些文字的项目。我想在正则表达式中使用n ++。这就是我想要完成的事情:
改变
G0 X28.5 Y5 S0
G1 X74 S255


M42 P11 S0
G0 X28.5 Y5
M42 P11 S255
G1 X74

所以基本上没有改变任何部分从 G 一直到 S 之前的空间并将 S 值移动一行加上 M42 P11 之前。有时也有Y值,X和Y都可以在它们的值中包含点。如果有人能告诉我如何使用正则表达式,我真的很感激。谢谢。

3 个答案:

答案 0 :(得分:0)

你可能想要这样的东西

<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta.2/css/bootstrap.css" rel="stylesheet" />
<div class="container h-100">
  <div class="col h-100 justify-content-center align-items-center">
    <h1 style="font-size:4vw;" class="display-3"><b>Some text</b></h1>
    <h1 style="font-size:5vw;" class="display-3">{{key_words}} !</h1>
    <h1 style="font-size:4vw;" class="display-3"><b>Some other texts</b></h1>
  </div>
</div>

并将匹配替换为([ .\w]+)(S\d+$)$

中的M42 P11 \2\n\1

输出是, padding

答案 1 :(得分:0)

试试Regex:

(G\d+\sX(?:\d+(?:\.\d+)*)(?:\sY\d+(?:\.\d+)*)?)\s(S\d+)

并替换为:

M42 P11 \2\n\1

Demo

答案 2 :(得分:0)

也试试这个简短的,在我的编辑器中完美运行。

查找内容:(.*)(\w\d+$)
替换为:m42 p11 $2\n$1