我有一个大文本文件,其中包含以下格式的数据:
AUTHOR: John_Doe
TITLE: This is a title
BASENAME: this_is_a_title
AUTHOR: Jill_Doe
TITLE: Another Title
BASENAME: another_title
AUTHOR: Jack
TITLE: Last Title
BASENAME: last_title
如何查找文档中的所有下划线,但仅查找以“BASENAME:”开头的行?我已经尝试过lookbehinds和分组,但我有限的正则表达式知识只是让我旋转。有什么想法吗?谢谢!
编辑:对不起,昨晚我离桌子很远。不知道我正在使用什么样的正则表达式,它是用于Sublime Text 2中的高级搜索。为了澄清,我试图在BASENAME行上找到下划线,以便我可以将它们更改为破折号。所以我正在寻找一个只返回下划线的RegEx。
答案 0 :(得分:0)
我建议^BASENAME:[^_]*_.*$
。这将找到所有这些线。或者您想要单独找到所有下划线而不是包含行吗?
答案 1 :(得分:0)
我会使用分组来获取下划线,否则您将获得所有文本
(?<=^BASENAME:)(.+?(?<underscore>_))*
您将在名为underscore
的小组中找到下划线。
如果您的语言不支持命名组,则可以使用
(?<=^BASENAME:)(.+?(_))*