我有以下模式的文本:
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个单词,直到字符/
请帮忙!
寻找: ([^ ]+) ([^/]+)/([^/]+)/
([^ ]+)
将“名称”作为除空格以外的任何内容匹配到组中\1
(后跟空格)([^/]+)
将“所有单词”匹配为任何内容,直到第一个/
进入组\2
/([^/]+)/
匹配组之间/
和/
组中的任何内容\3
用。。。来代替: /\3/ \2\1
尝试
(?<=1 NAME )(\S+ ){n}/words/
你可以在 MS Word 中做到这一点(我认为在 Visual Studio 中也是如此)。这是在MS Word中的完成方式
Match String: (<*>) (<*>) (<*>) (<*>) (<*>) (<*>)
Replace String: \1 \2 \6 \3 \4 \5
在 MSWord 中,它并没有具体说明正则表达式,但它可能会在后端使用它。请注意,它有匹配 \word\ 的问题,即以反斜杠 () 开头的单词。您可能想从单词中删除反斜杠以确保它有效。