需要帮助来解决目录

时间:2015-08-25 11:32:54

标签: java regex

我必须解析包含目录的文档。生成的文档包含一些不属于内容表的文本,例如页眉和页脚。



2.1 some_text 100
2.1. some_text 100
some_text 100

我已经写了一个正则表达式来验证文本是否是内容表的一部分。


(\d+(\.\d*)?)(.*)(\d{1,3})

但是,它通过了上述所有文字。我希望它在第3个文本中失败,即some_text 100。

请帮忙。

1 个答案:

答案 0 :(得分:3)

您需要在多行模式(行首)中使用锚^

(?m)^(\d+(\.\d*)?)(.*)(\d{1,3})

请参阅demo

您甚至可能想要检查号码是否在$锚点的行尾:

(?m)^\d+(?:\.\d*)?.*\d{1,3}$

注意我从最后一个正则表达式中删除了所有捕获组以保持其清洁。如果您打算使用捕获的文本,则可以还原它们。