使用正则表达式在Notepad++中格式化文本块

3
我无法让这个工作起来,所以求助于你的帮助。
(432, 412), (673, 187), (231, 548)

我正在尝试自动化一个包含类似下面格式的大型数据文件:
432, 412
673, 187
231, 548

在Notepad++中,我正在尝试使用扩展搜索模式和), \s,但它并没有使用该搜索字符串找到任何内容。

但是你肯定尝试过一些东西,对吧?请分享至少一次尝试。 - Wiktor Stribiżew
我正在Notepad++中尝试使用扩展搜索模式,使用), \s-,但它并没有找到任何匹配该搜索字符串的内容。 - Mulo
3个回答

4
使用“正则表达式”单选按钮,使用以下方法:
\((\d+,\s*\d+)\),?\s*

替换为$1\r\n(其中$1是正则表达式模式中定义的仅捕获数字,,,空格(s)?和数字的唯一数字捕获组的反向引用)。

该正则表达式将匹配:

  • \( - 开始括号 (
  • (\d+,\s*\d+) - 第一个捕获组匹配 1 或多个数字,后跟一个,,零个或多个空格(\s*),再后跟一个或多个数字
  • \) - 结束括号 )
  • ,? - 可选逗号(1 或 0 次出现)
  • \s* - 零个或多个空格

enter image description here


1
你比我快了两秒钟.. :-) - Ken White
没问题,但是在替换部分 $2 是多余的。 - Toto
这是我之前替换尝试的遗留问题。谢谢,Toto。 - Wiktor Stribiżew

1
为了使用正则表达式匹配括号,你需要用斜杠对它们进行转义。
你可以使用两个正则表达式步骤来实现你所需的功能。
1)查找
\),

and replace with

\n

2) 查找

\(

并用空字符串替换。

0
在cntl+F中,选择扩展(\n,\r,..),然后查找“),如果每对之间有空格,请添加空格,用\r\n替换,进行全部替换。然后查找“(”,用空字符串替换。然后查找“)”,用空字符串替换。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接