我有源代码,我希望找到所有行,而不是逗号,点或加符号',' , '.' , '+'
,
所以,我有这个:(\,|\.|\+)$
- 显示以这些符号结尾的行。
但是我想忽略以// - 评论的行开头的行,并且它们可以以任意数量的空格开头。
我尝试过忽略/开头的行:^[^/].*
但这并没有真正奏效。然后我也尝试将\s*
放在开头,忽略所有空格,但仍然不能正常工作。
所以,我的正则表达式将是这样的:\s*^[^/].*(\,|\.|\+)$
- 跳过开头的所有空格并忽略带/作为第一个符号的那些并显示那些以。+
但是仍然会找到以空格和/开头的行。我做错了什么?
修改 以下是示例行:
...
// increase no of objects...
counter := 1+
2;
...
我需要忽略注释行,从//开始,但需要所有以。,+结尾的行,因为我需要重新格式化它们。
答案 0 :(得分:2)
使用单个正则表达式执行此操作的唯一方法是使用负面的lookbehind。但是,您最终会得到一个以^(?<!\s*\/)
开头的正则表达式,由于外观中的量词而无效。
这意味着实际工作的唯一方法是使用多个正则表达式。
您想要的线条与此匹配(字面意思是&#34;线条末尾的逗号,点或加号&#34;)
[,.+]$
但不这个(字面意思是&#34;零行或多行空格后跟行开头的正斜杠&#34;):
^\s*\/
答案 1 :(得分:2)