我想为多行示例制作一个正则表达式。 我试过这样:
^"SAMPLE_SIGN"."\n".SAMPLE_SIGN\n std::cout << "MULTIPLE ROW SAMPLE"
但这对我不起作用。
可能的输入:
some program code SAMPLE_SIGN text inside the
sample SAMPLE_SIGN
正确的版本是什么?
最佳答案
如果你想允许它在行的任何位置,不仅是开始那么不应该使用 ^
并允许你的标志:SAMPLE_SIGN
或:|
行尾:\n
之后可以是任何内容 *
"SAMPLE_SIGN"([^SAMPLE_SIGN]|\n)*"SAMPLE_SIGN" std::cout << "Block"
这将允许您使用 SAMPLE_SIGN
作为 SAMPLE_SIGN
block 中的第一个字符,并且。例如作为原始评论部分。
关于c++ - 如何在 lex 中捕获多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54991612/