【发布时间】:2015-10-22 20:36:54
【问题描述】:
尝试使用正则表达式识别我的文本数据的结构并遇到障碍。
对于下面的示例文本
我是一个标题:
Lorem Ipsum 只是打印的虚拟文本 和排版行业。 Lorem Ipsum 一直是业界的 自 1500 年代以来的标准虚拟文本。I AM A TAB-Lorem Ipsum 只是打印的虚拟文本
我下面的正则表达式选择了 'I AM A HEADER:' 和 'I AM A TAB-'
^\s*(?:\b[A-Z]+\b[\s]*)+(?:[:-])\s*$
请提出修改建议以匹配“我是标题”和“我是标签”以及 忽略结束标记 ':' 和 '-'。
【问题讨论】:
-
^\s*(?:(?=.+[:-]\s*$)(?:\b[A-Z][a-z]*\b[\s]*)+)应该可以工作 -
为什么要使用正则表达式?
for myword in line.split(): if myword[0] == myword[0].upper() and myword[0].isalpha(): # do something