java - 仅当行以反斜杠结尾时,如何匹配多行 "TODO"?

标签 java regex

我想做一个“TODO”匹配器,它只匹配一行,除非该行以“\”结尾。对于以此结尾的每一行(仅连续),还包括下一行。

示例:

匹配第 1-2 行:

//TODO: line one \
//Line 2
//Not part of todo

匹配第 1-3 行:

//TODO: line one \
//Line 2 \
//Not part of todo

仅匹配第 1 行:

//TODO: line one
//Line 2 (but not part)
//Not part of todo

我尝试这样做作为开始,但它与第二行不匹配:

/(\b(todo|TODO)\b.*|\btodo\b.*\\(\r\n|\n)+$\/\/)/gm

最佳答案

/^\/\/TODO:(?:.*\\\s*\n)*.*/gm

这匹配以 //TODO: 开头的行以及任何后续行,只要其之前的行以 \ 结尾

演示在这里: https://regex101.com/r/MNM1Oz/3

关于java - 仅当行以反斜杠结尾时,如何匹配多行 "TODO"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42140338/

相关文章:

Java StringToNUMBER - 如果字符串包含数字以外的任何内容,则返回 0;如果是负数,则返回初始 "-"

c# - 正则表达式检查文本框中输入的文本是否包含数字、逗号和连字符

regex - R 中的变音符号和正则表达式

java - Java 中特定字符串的正则表达式

java - 为什么 java String.replaceAll 正则表达式删除了它不应该删除的部分字符串?

java - 如果直接调用 Thread.getUncaughtExceptionHandler().uncaughtException 会发生什么不好的事情?

java - 立即获取日期和时间

java - 使用 List<List<>> 进行并发修改

regex - UltraEdit 正则表达式替换功能超出可用资源

java - Java Explicit Cast from Double 到 Int 的舍入规则是什么