我有这么长的正则表达式字符串
(\.#.+|__init__\.py.*|\.wav|\.mp3|\.mo|\.DS_Store|\.\.svn|\.png|\.PNG|\.jpe?g|\.gif|\.elc|\.rbc|\.pyc|\.swp|\.psd|\.ai|\.pdf|\.mov|\.aep|\.dmg|\.zip|\.gz|\.so|\.shx|\.shp|\.wmf|\.JPG|\.jpg.mno|\.bmp|\.ico|\.exe|\.avi|\.docx?|\.xlsx?|\.pptx?|\.upart)$
我想将其按|
拆分,并将每个组件放在一个新行上。
像这样的最终形式
(\.#.+|
__init__\.py.*|
\.wav|
\.mp3|
\.mo|
\.DS_Store|
... etc
我知道我可能可以作为一个宏来做这件事,但我想更聪明的人可以找到更快/更容易的方法。
任何提示和帮助都是感激的。谢谢!
4条答案
按热度按时间wlwcrazw1#
给予看:
以上操作将在当前行上起作用。
要对整个文件执行替换,请在s:
分解:
q3qa4bjr2#
将
|
的每个示例替换为自身和一个换行符(\r
):(执行前确保光标位于相关行)
ljsrvy3e3#
如果您想用逗号分隔一行,请尝试按以下顺序(注意:如果您看到
<C-v>
,则表示Ctrl-v,如果您看到<Enter>
,则表示Enter);所有其他字符应按字面意思处理:<C-v>
允许您输入Esc、Enter、Tab等控制字符(或不可见字符)。键入
:help ins-special-keys
以获取详细信息。演示:https://asciinema.org/a/567645
fcg9iug34#
实际上你不需要在模式前添加
|
,试试这个s/,/,\r/g
它会在换行符后用逗号替换逗号。