【发布时间】:2021-04-30 15:42:00
【问题描述】:
首先,我使用的是 Java,如果这会影响正则表达式。
我正在尝试匹配以任意数量的空白字符开头但没有其他字符的行的内容,后跟任意数量的磅 (#),然后是任意字符,然后以新行结尾。
或者,一个只有空格或换行的完全空行。
我尝试自己找到第一部分,但它似乎与任何 cmets 都不匹配:
^(?!.+)#+.*$
即使我在结尾加上\r*\n*,它也不起作用
【问题讨论】:
-
使用
\s匹配空格或换行符^(?:\s*#.*\R|\s+)regex101.com/r/ZJJwyN/1 在 Java 中String regex = "^(?:\\s*#.*\\R|\\s+)"; -
我试过了,但它似乎与我的测试不匹配regexr.com/5s00b
-
能否添加Java相关代码?仅此模式可能还不够。
^和$默认为字符串的开始/结束,除非您设置了MULTILINE标志。查看您是否正确设置了标志会很有帮助。 -
您有一个带有
s修饰符的标志,其中点将匹配换行符,并且选择的语言是Javascript。测试应该匹配什么?像这样?^[^\S\r\n]*(?:#.*)?\r?\nregex101.com/r/r5hoKa/1 -
任意数量的空白字符,但没有其他... - 您的意思是开头不能有空白还是您的意思是至少有一个空白?