我需要一个正则表达式,它将返回一个短语集合,这些短语都是以冒号结尾的大写字母。示例:
入院时用药:Vasotec 40 mg,q.day,Soma 1片,q.day,度冷丁,可乐定。过敏症:患者没有已知的药物过敏症.PAST病史:如上所述。家族史:糖尿病家族史阳性,癌症家族史阳性。
我需要提取以下内容:
入院时的药物,过敏,家族史
谢谢。
发布于 2011-02-22 10:36:09
像这样的东西应该可以工作:[A-Z ]+ :
[A-Z]获取任何字母或空格字符;加号搜索其中一个或多个字符的组。冒号不是特殊字符,不需要转义。
如果可以的话,请确保您的搜索区分大小写。
发布于 2011-09-13 11:55:39
嗨,你可能想试试这个:
/([A-Z]*\s+?)+:/um发布于 2011-02-22 10:59:05
如果文本是由多个段落组成的单个块,则必须启用一个选项以将换行符视为普通字符。这取决于您选择的regex库和语言。
如果你想像这样从一个块中提取多个短语,你还必须将你的基本模式包含在一个重复组中,并使用适当的通配符("^A-Z *")来忽略后面的非短语文本。同样,如何做到这一点取决于您对库和语言的选择。
如果您单独处理每一行并收集短语,则不需要这样做。
https://stackoverflow.com/questions/5073432
复制相似问题