【问题标题】:Selecting characters and the whole line with regex使用正则表达式选择字符和整行
【发布时间】:2011-08-05 00:56:36
【问题描述】:

我的 .csv 文件中有很多行包含如下字符

@@ -135,7 +151,6 @@

我想连同它所在的行一起删除。我认为这会工作

\@.*\@$

但是这个正则表达式只选择字符,就是这样。我将如何调整它以选择字符和行?

【问题讨论】:

  • 所以你的意思是选择一个看起来像这样的行:abc@@ -135,7 +151,6 @@ def?
  • 没有这样的一行:@@ -135,7 +151,6 @@

标签: regex


【解决方案1】:

如果最后一个 @ 之后有空格,它将失败。所以补偿一下,

\@.*\@.*$

我想知道* 后面的. 是干什么用的。试试这是否可行。

不带 $ 试试看,因为它可能会检查文档的结尾。在最后一个 @ 之后还需要一个换行符。

\@.*\@\n

【讨论】:

  • 那是一个错误,但您建议的正则表达式仍然只是选择字符而不是字符和行
  • 编辑了我的答案,它应该删除任何以 @ 开头并以 @ 和换行符结尾的行。
猜你喜欢
  • 1970-01-01
  • 2021-05-16
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 2019-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多