我一直在研究一个正则表达式来解析来自各种在线来源的食谱列表,我一直很难让正则表达式忽略食谱中的形容词和限定词
例如,如果配方要求“1整汤匙辣椒粉”,我希望我的正则表达式忽略“整汤匙”并返回“1”、“汤匙”和“辣椒粉”。为此,我提出:
(\d\/?\d?) ([\w]+?)?? ?(cup|tablespoon|teaspoon)? ([\w\s]+)
只要有一个测量方法,它似乎工作得很好。但对于像“一个鸡蛋”或“两个葱”这样的东西,它并不匹配
有没有办法使正则表达式不仅在没有测量值的情况下匹配,而且将成分(即“鸡蛋”)与有测量值的成分放在同一组(第4组)中
最好将空格也包括在括号中,这样它们就只能匹配在一起了。为“四舍五入”提供两个匹配项:后面有空格和没有空格,因此只需使用第二个:
相关问题 更多 >
编程相关推荐