【问题标题】:Find end of the line in a regular expression using Notepad++使用 Notepad++ 在正则表达式中查找行尾
【发布时间】:2012-03-19 07:02:15
【问题描述】:

我正在使用Notepad++,我想找到新行(在连字符、可选空格和结尾行中的一些字符之后)。

我想出了这样的东西:

  • -[ ]?.*\n

我也试过了:

  • -[ ]?.*(\n)
  • -[ ]?.*(\r\n)
  • -[ ]?.*[\r\n]
  • -[ ]?.*[\n]

这些都不起作用。如果重要的话,我正在使用 Windows。

【问题讨论】:

  • 你试过$作为行尾吗?
  • 您是否开启了“扩展/正则表达式”搜索模式?
  • @Chimoo 是的,我做到了。这就是为什么它对我有用,例如-[ ].*

标签: regex find newline notepad++


【解决方案1】:

\R(大写 R)将抓取 Notepad++ 中的任何行尾字符。

我通常会这样做:

-.+\R 将抓取从连字符到行尾的所有内容以及任何返回字符。

$ 代表行尾和^ 代表行首也是你的朋友。

http://docs.notepad-plus-plus.org/index.php/Regular_Expressions

【讨论】:

  • 链接已损坏:“嗯。我们无法找到该站点。我们无法连接到 docs.notepad-plus-plus.org 上的服务器。”我>
【解决方案2】:

如果您实际上不需要匹配换行符,您可以简单地使用$,它是行尾的锚点。

【讨论】:

  • 天哪。我忘了我可以使用$。非常感谢 :)。我需要这个来在我的单词列表中查找未翻译的单词;)
  • 多年后,这为我节省了大量时间和挫折!我正在使用管道分隔值格式,我需要修改文件以使用管道“|”在每一行的末尾。找到“$”并替换为“|”而在正则表达式模式下工作完美。
  • 请注意,在 Notepad++ 中,“查找和替换”对话框窗口中有一个标题为“.matches newline”的复选框。如果未选中该框,则任何“.*”匹配都将在到达换行符时终止。
  • 这不像我预期的那样在Replace 标签下,但它在Find in Files 标签下。谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多