c# - 匹配行尾或其他字符

标签 c# regex

我正在尝试编写一个正则表达式,它可以匹配“key = value”直到行尾或表示注释开始的符号。

例如,让“#”表示注释并假设我有一个包含以下内容的文件:

k1 = v1 
k2 = v2 # this is a comment
k3 = v3

然后我希望我的表达式匹配“k1 = v1”、“k2 = v2”和“k3 = v3”。

我已经能够使用以下方法匹配没有评论的文本:

^(?'key'.+)\=(?'value'.+)

问题是在 '#' 或 '\n' 之前我不知道如何匹配

最佳答案

(?:^|(?<=\n))(?'key'.+?)\=(?'value'.+?(?=#|\n|$))

您可以使用lookarounds 来完成您的工作。查看演示。

https://regex101.com/r/eB8xU8/3

关于c# - 匹配行尾或其他字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35220012/

相关文章:

C# NEST Elasticsearch自定义过滤器结构(tokenize)

javascript - 使用 Minecraft 控制台和 Nodejs 进行正则表达式

python - 返回括号之间的文本

php - 将正则表达式拆分为两个正则表达式 : whole words only & words with substring matches only

c# - 在 .NET 4.0 基于代码的配置中使用 SQLite 的 EF6 : "Unable to Determine the DbProviderFactory"

c# - 当我们使用时线程被中止

c# - 如何将列表绑定(bind)到 Data Grids 数据源的子类中的组合框?

c# - 流是什么意思?它的特点是什么?

regex - 如何在 Matlab 中打印带有千位分隔符的整数?

java - 不同 tomcat 日志条目的正则表达式模式