Regex 试图在记事本++;匹配特定图案并替换它
我正在尝试本地化补丁的翻译文件;我的打包程序要求文本以某种方式格式化,以使其修补程序正常工作 5000多行文本文件以不同的文本块格式化,如:Regex 试图在记事本++;匹配特定图案并替换它,regex,notepad++,Regex,Notepad++,我正在尝试本地化补丁的翻译文件;我的打包程序要求文本以某种方式格式化,以使其修补程序正常工作 5000多行文本文件以不同的文本块格式化,如: Sentence Sentence Sentence Sentence Sentence Sentence Sentence 他需要输出数据 sentence\nsentence sentence\nsentence\nsentence sentence sentence 我尝试使用[.+\n.+]替换为[$2”\n“$1],但它似乎与所有
Sentence
Sentence
Sentence
Sentence
Sentence
Sentence
Sentence
他需要输出数据
sentence\nsentence
sentence\nsentence\nsentence
sentence
sentence
我尝试使用[.+\n.+]替换为[$2”\n“$1],但它似乎与所有内容都匹配。只需尝试以下模式:
.\n.
并将其替换为:
\\
匹配任何字符(换行符除外)
匹配换行符(换行符)\n
修改器:全局。所有比赛(第一场比赛不返回)g
\r\n
;在Unix中,仅在“查找内容”中需要\n
)
查找内容:(.)\r\n(.)
用于Dos格式设置
查找内容:(.)\n(.)
用于Unix格式设置
--或--
查找内容:(.)\R(.)
通用(多亏了Wiktor Stribiżew,我才不知道这个技巧)
替换为:$1\\n$2
确保。未启用匹配换行符。
窗口?使用以下命令:
搜索:
([^\r\n])\r\n([^\r\n])
替换:
$1\n$2
打开“替换”对话框:
- 查找内容:
(.)\r\n(.)
- 替换为:
\1\\n\2
- 检查正则表达式
- 单击“全部替换”
([^\r\n])\r([^\r\n])
替换为$1\\n$2
,因为我们不知道你有什么断线。@WiktorStribiżew我不明白,为什么要捕获组?是不是错了?@Shafizadeh:你正在匹配和使用换行前后的字符,所以当你替换时,这些字符将被删除。请注意,
与记事本++中的\r
不匹配。因此,如果换行符是CRLF,您的正则表达式将找不到任何内容。另外,不要在Notepad++中使用正则表达式分隔符,它没有使用任何正则表达式分隔符(它使用的是Boost库)@WiktorStribiżew我明白了,只有一件事,g
修饰符在Notpad++上被激活?有一个“全部替换”按钮。在Nodepad++中,你在哪里为正则表达式添加g修饰符?