This is probably the wrong way to go, as you have two optional bits, meaning that neither has to be present. I'd think this would match "comments 3(v)-1 and", which is a very broad rule and one we can tighten. Instead, try:

```python
+ ((_inner_non_comment + Optional(depth1_c))
    | depth1_c).setParseAction(keep_pos).setResultsName(
```