我有以下模式的文字:
1 NAME word1 word2 wordn /words/
...
...
1 NAME word1 word2 wordn /words/
我需要一个正则表达式,将其重新排序为:
1 NAME /words/ word1 word2 wordn
...
...
1 NAME /words/ word1 word2 wordn
我试图在notepad++
中执行此操作,但无法确定匹配 n 字数的正则表达式,直到字符/
请帮忙!
答案 0 :(得分:5)
查找: ([^ ]+) ([^/]+)/([^/]+)/
([^ ]+)
将“名称”匹配为组\1
中的任何空格(后跟空格)([^/]+)
将“所有字词”匹配为第一个/
成群组\2
/([^/]+)/
将/
和/
之间的任何内容匹配到群组\3
替换为: /\3/ \2\1
答案 1 :(得分:1)
尝试
(?<=1 NAME )(\S+ ){n}/words/
答案 2 :(得分:1)
您可以在MS Word中执行此操作(我也认为在Visual Studio中)。以下是MS Word
中的完成方式Match String: (<*>) (<*>) (<*>) (<*>) (<*>) (<*>)
Replace String: \1 \2 \6 \3 \4 \5
在MSWord中,它没有具体说正则表达式,但它可能在后端使用它。请注意,它有匹配\ word \的问题,即用反斜杠()凝视的单词。您可能希望从单词中删除反斜杠,以确保它有效。