我的文件中包含以下目录和部分:
1.2 Purpose .................... 8
1.3 System Overview ............ 8
1.4 Document Overview .......... 8
1.5 Definitions and Acronyms ......... 9
2.1.3.3.8 FOO
2.1.3.3.9 BAR
2.1.4 TEST
我想提取部分名称并忽略属于目录的行。
我一直在尝试这个正则表达式:
^((?:\d{1,2}\.)+(?:\d{1,2})+)\s.+(?!\.\.\.).*$
但是,我一直在捕捉目录行。
如何使用....字符串排除行?
谢谢!
答案 0 :(得分:3)
这里的问题是你只是在一个非常具体的地方排除了.
;你的负面前瞻性比赛并没有超出它所处的位置。相反,请考虑:
^(\d{1,2}(?:\.\d{1,2})*)\s*[^.]*(?!.*\.{3}).*$
# ^^
......下面有胡萝卜的人物是至关重要的:他们不仅在那个特定的点上,而且在它后面的任何地方也适用负面的前瞻。