我有一个工作的Java正则表达式,除了,鉴于我的逻辑,它是贪婪的。
目的是只匹配包含关键字的4个单词,而不匹配前后的空格或单词或字符。
示例文本:
Chief Complaint
· "Lorem ipsum dolor sit amet.."
· "Lorem ipsum dolor sit amet.."
History of Present Illness
Lorem Ipsum is simply dummy text of the printing and typesetting
Review of Systems
Donec luctus metus: Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Donec luctus metus: Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Past Medical History
· Contrary to popular belief, Lorem Ipsum is not simply random text
· Contrary to popular belief, Lorem Ipsum is not simply random text
Social History
· "Lorem ipsum dolor sit amet.."
· "Lorem ipsum dolor sit amet.."
Surgical History
· "Lorem ipsum dolor sit amet.."
Family History
· "Lorem ipsum dolor sit amet.."
Current Meds
· "Lorem ipsum dolor sit amet.."
我的正则表达式:
^[s]*(?:b(?:[Ss]ubjective|[Oo]bjective|[Aa]llergy|[Ll]aboratory|[Ll]ab|[Aa]llergie|[Ii]mpression|[Pp]lan|[Hh]istory|[Mm]ed|[Ee]xam|[Vv]ital|[Aa]ssessment|[Pp]roblem|[Cc]omplaint|[Ii]llness|[Ss]ystems|List|[Cc]hief|of|[Cc]urrent|[Pp]resent|[Ii]llness|[Pp]ast|[Mm]edica|[A-Za-z]|Comment:)+s?b[s]*){1,4}$
在线测试链接:
http://java-regex-tester.appspot.com/regex/85b4429f-59ed-4a0c-b016-f7a6ddce5344看起来你的文本格式是一致的。你为什么不这样做呢?
^s{7,8}([^ ].*)$
捕获任何只有7个或最多8个前导空格的内容