我有一个包含结构化数据的文件,但可能缺少以下字段
Name:xxxxx,Age:20,Gender:Male
Name:yyyy,Gender:male
Name:zzzx,Age:26,Gender:Male
我想要一个正则表达式来获取名称,年龄和性别的值。到目前为止,我已经使用
Name:(.*),Age:(.*),Gender:(.*)
如果所有三个字段都存在,则会带来值,但不适用于丢失的文件。谁能告诉我如何实现这一目标
最佳答案
您是否正在使用Java的Pattern和Matcher类?如果是这样,您可以像这样做一个正则表达式。
(Name:(.*),)?(Age:(.*),)?(Gender:(.*),)?
这会使您的分组有些混乱,但应该给出正确的结果。起作用的原因是因为当您使用“?”时它查找所查找内容的零个或一个实例。因此,这非常适合您的工作。
关于java - 正则表达式查找是否存在Java的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29539375/