我正在尝试解析来自IMDB前250名列表(来自页面来源)的电影名称,其中包含许多html标签。
我有一个正则表达式,但是当我使用grep命令运行它时,一段时间后它会给核心转储。命令如下:
grep -o -P ">[[A-Z]+\w* ([a-zA-Z]+\w* ?)*<" film.xml
。
这个核心倾销的原因是什么?
答案 0 :(得分:2)
我不确切地知道你要做什么,但试试:
grep -o -P ">[A-Z]\w*( [a-zA-Z]\w*)* ?<" film.xml
答案 1 :(得分:1)
你的正则表达式太贪心了。当您在组中使用*
时,通常会发生这种情况,该组本身具有*
。减少*
和+
的数量或使用他们的非贪婪表单:*?
和+?
,这将有很大帮助。