首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式删除以特定符号开头的所有行以及更多行。

正则表达式删除以特定符号开头的所有行以及更多行。
EN

Stack Overflow用户
提问于 2021-11-09 21:12:45
回答 2查看 606关注 0票数 1

我想使用正则表达式删除所有以'!‘开头的行,但最后一个以这个字符开头的行除外。此外,应删除所有空行。

好了!第1行

!那是第二排。

!-又是一排

好了!a、b、c、d

0 1 2 3

4 5 6 7

8 9 10 11

期望产出:

a、b、c、d

0 1 2 3

4 5 6 7

8 9 10 11

到目前为止,我得到:

代码语言:javascript
运行
复制
re.sub(r'(?m)^(?!.*a\sb\sc\sd)\#.*\n?', '', textstring)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-09 21:25:43

(?:.*\n)+!([^!]*)

您可以在https://regex101.com/中测试它

票数 0
EN

Stack Overflow用户

发布于 2021-11-09 21:15:56

您可以使用

代码语言:javascript
运行
复制
re.sub(r'\A(?:!.*\n)+!\s*(.*a\sb\sc\sd)', r'\1', textstring)

这个regex演示。详细信息

  • \A -字符串的开始
  • (?:!.*\n)+ -以!开头的一行或多行
  • ! -a !
  • \s* -零或多个空白空间
  • (.*a\sb\sc\sd) -第1组:除行中断字符以外的任何零个或多个字符,a、空格、b、空格、c、空格、d

替换值是Group 1值,\1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69905162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档