我们正在尝试从一个字符串中创建一个对象,它没有遵循任何正确的模式。
HP: (000)123-4567 AGE: 53 S:F^ 0001 S. Potomac DOB: 11/04/1900 LOC: E.ER ^ Aurora,CO 80088 PHYS: ISADE - jhghj,Devon Chase ^ PHONE #: 000-000-0000 EXAM DATE: 12/24/2017 STATUS: REG ER^ FAX #: 000-000-0000 A#: Eu67765765hh U#: E49857684957^ ^ PAGE 1
为了获取属性,我试图从冒号向后提取直到多个空格。
这就是我想出来的。
^(.*?)(?<=\:).*?(?=\:)
这从:
读取到:
,即HP: (000)123-4567 AGE
作为输出
但我需要将所有标题与他们的数据分开。
HP: (000)123-4567
AGE: 53
S: F^ 0001 S. Potomac
任何帮助将不胜感激
答案 0 :(得分:2)
答案 1 :(得分:1)
试试这个正则表达式:
((?:[A-Z]+\s*)*#?):\s*([\s\S]*?(?=$|\s+(?:[A-Z]+\s*)*#?:))
<强>解释强>
((?:[A-Z]+\s*)*#?)
- 第1组包含0次出现(1次出现大写字母后跟0 +空格),然后是可选的#
:\s*
- 匹配:
后跟0次出现的空格
([\s\S]*?(?=$|\s+(?:[A-Z]+\s*)*#?:))
- 第2组包含字符序列,后跟字符串结尾或下一个属性名称(\s+(?:[A-Z]+\s*)*#?:
)
答案 2 :(得分:0)