我想解析包含由 #
字符引入的单行注释的 KConf 文件。您可以在下面找到此类文件的示例。
https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig
我知道单行测试字符串看起来几乎是随机的,尽管它应该包含大多数(如果不是全部)嵌套哈希和字符串的变体以及不引入字符串的注释中的引号。
我目前使用的正则表达式引擎是 Groovy 中基于 Java 的正则表达式引擎。
测试字符串
Lorem“ipsum #\”dolor”sit amet,“consectetur #\”adipiscing”elit。Maecenas“suscipit #mollis”quam,非#bibendum“elit #eleifend”。 Duis # convallis"luctus nunc, ac luctus lectus dapibus at.
期望的结果
Lorem "ipsum #\"dolor"sat amet, 'consectetur #\' adipiscing' elit.Maecenas 'suscipit #mollis' quam,非
或(带前导空格)
#bibendum 'elit # eleifend "in. Duis # convallis"luctus nunc, ac luctus lectus dapibus at.
最佳答案
首先,我对你的字符串进行了转义,以便可以使用 JavaScript 将其存储为变量(因为你似乎没有指定语言,所以我假设是 JS):
var str = 'Lorem "ipsum # "dolor"sat amet,\'consectetur #\' adipiscing\' elit.Maecenas\'suscipit#mollis\' quam, non #bibendum\'elit # eleifend "在。 Duis # convallis"luctus nunc, ac luctus lectus dapibus at.';
要删除“”后跟“#”(后面不跟空格)的所有内容:
str.replace(/ #[^ ].*/, '');
最后,您的第二个期望结果完全没有意义。
所有这一切当然都需要适当的描述来帮助。
关于java - 如何删除包含多个字符串和注释符号的行的行注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944578/