我必须解析包含目录的文档。生成的文档包含一些不属于内容表的文本,例如页眉和页脚。
2.1 some_text 100
2.1. some_text 100
some_text 100
我已经写了一个正则表达式来验证文本是否是内容表的一部分。
(\d+(\.\d*)?)(.*)(\d{1,3})
但是,它通过了上述所有文字。我希望它在第3个文本中失败,即some_text 100。
请帮忙。
答案 0 :(得分:3)
您需要在多行模式(行首)中使用锚^
:
(?m)^(\d+(\.\d*)?)(.*)(\d{1,3})
请参阅demo
您甚至可能想要检查号码是否在$
锚点的行尾:
(?m)^\d+(?:\.\d*)?.*\d{1,3}$
注意我从最后一个正则表达式中删除了所有捕获组以保持其清洁。如果您打算使用捕获的文本,则可以还原它们。