我正在尝试编写一个正则表达式,它可以匹配“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
来完成您的工作。查看演示。
关于c# - 匹配行尾或其他字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35220012/