繁体   English   中英

使用正则表达式匹配井号 (#) 或空行注释

[英]Matching pound (#) or empty line comments with regex

首先,我使用的是 Java,如果这会影响正则表达式。

我正在尝试匹配以任意数量的空白字符开头但没有其他字符的行的内容,然后是任意数量的磅 (#),然后是任何字符,然后以新行结尾。

或者,一个只有空格或新行的完全空行。

我尝试自己找到第一部分,但它似乎与任何评论都不匹配:

^(?..+)#+.*$

即使我最后包含\r*\n*它也不起作用

在您的正则表达式示例中,您选择了 Javascript 并启用s标志必须点匹配换行符。

如果要匹配所有行,可以启用多行和全局标志,并使用

^[^\S\r\n]*(?:#.*)?\r?\n

正则表达式演示


在 Java 中,您可以使用

^\h*(?:#.*)?\R

使用双转义反斜杠

String regex = "^\\h*(?:#.*)?\\R";

模式匹配:

  • ^字符串开头
  • \h*匹配可选的水平空白字符
  • (?:#.*)? 可选匹配#后跟该行的 rest
  • \R匹配任何 Unicode 换行序列

正则表达式演示

如果你想匹配整行,而不是匹配换行符,你想断言字符串的结尾,你可以使用锚$而不是\R

^\h*(?:#.*)?$

正则表达式演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM