我想要一个正则表达式来清除(每行)#
符号后面的任何内容。所以我写了这样的代码:
contents.replace(QRegExp("#.*\n"),"")
但是,由于.
也与换行符匹配,因此在第一个#
之后清除了所有内容。那么我怎样才能正确编写正则表达式呢?
答案 0 :(得分:2)
您需要一个否定的字符类[^\n]
contents.replace(QRegExp("#[^\n]*"),"")
这会删除#
以及该行的其余部分。
请参阅regex demo at regex101.com(它在Qt中的工作方式相同)。
如果您还需要删除换行符,请将其添加到模式中:
contents.replace(QRegExp("#[^\n]*\n"),"")