InputString:一名士兵可能有瘀伤、伤口、标记、脱臼或其他伤害他的伤病。
ExpectedOutput :
瘀伤
伤口
标记
脱臼
受伤
广义模式尝试:
".[\s]?(\w+?)"+ // 瘀伤。 "(?:(\s)?,(\s)?(\w+?))*"+ // 伤口标记位错 "[\s]?(?:or|and) 其他 (\w+)."; // 伤害
该模式应该能够匹配其他输入字符串,例如:一名士兵可能有瘀伤或其他伤害他的伤害。
在尝试上面的广义模式时,输出是: bruises dislocations Injuries
“(?:(\s)?,(\s)?(\w+?))*”的捕获组有问题。捕获组又出现了一次..但它只返回“错位”。“标记”和“错位”:被吞噬。
您能否建议正确的模式应该是什么,错误在哪里?这个问题最接近这个问题,但该解决方案没有帮助。
谢谢。