检查带有一些正则表达式的读取行

时间:2011-12-30 10:52:42

标签: c++ regex

我正在尝试检查几行条件,例如即。

  1. 是空行
  2. 行是否包含多行注释的开头
  3. 行是否包含多行注释的开头+除空格
  4. 之外的任何其他内容
  5. 行是否包含多行注释的结尾
  6. 行是否包含多行注释的结尾+除空格
  7. 之外的任何其他内容
  8. 行是否以单行注释开头
  9. 至于正则表达式,我想出了一些:

    1. "^\\s*$"
    2. "/\\*+"
    3. "[^\\s]/\\*+"
    4. "\\*/+"
    5. "[^\\s]\\*/+"
    6. "^//"
    7. 但我不确定他们是否做了我认为他们做的事情。有人可以快速查看并告诉我他们是否正常,以及我是否正在尝试进行检查的方式是正确的? 感谢。

1 个答案:

答案 0 :(得分:0)

2:会匹配线上任意位置的一颗或多颗星星。我写了"^\\s*\\*"

3:"^\\s*\\*\S+$"

4:不需要+

5:它只允许多行结束前的一个字符,而不需要+(如4.)。我写了"^\\S+\\*/\\s*$"(以便在最后/之后考虑空格。)

6:如果你明确地禁止它之前的空格就可以,否则写"^\\s*//"

但是你还有其他问题!为多行注释编写正则表达式很棘手,它可以完成,但它仍然很棘手。