我正在尝试制作一个将成分的体积测量值转换为克的转换器。
这是我的表达/(\d?\u2009?\s?[\u00BC|\u2153|\u00BD|\u2154|\u00BE]?|\d?\u2009?\s?[1|2|3]\/[2|3|4]?)\s(cups|cup|teaspoons|teaspoon|tsps|tsp|tablespoons|tablespoon|tbsp|tbsps)?(.*)/g
我的问题是第一组。
我希望它捕获金额,所有这些都应该是有效的匹配项:
1
½
1/2
1½
1½
1 1/2
此/\d?\u2009?\s?[\u00BC|\u2153|\u00BD|\u2154|\u00BE]?)/g
匹配1,½,1½或1½
/(\d?\u2009?\s?[1|2|3]\/[2|3|4]?)/g
匹配1、1 / 2和1 1/2
\u2009
是在某些烹饪网站上使用的字符,其他unicodes用于食谱中常用的所有分数。
我不知道如何组合它们或做出包含所有内容的表达式,
提前谢谢!
答案 0 :(得分:0)
结合的好方法。
详细但回溯最少。
尝试
/(\d[\ ]*[ \t]*[¼⅓½⅔¾]|[¼⅓½⅔¾]|\d[\ ]*[ \t]*(?:1\/[432]|2\/3|3\/4)|(?:1\/[432]|2\/3|3\/4)|\d)(?!\S)(?:[ \t]+(cups|cup|teaspoons|teaspoon|tsps|tsp|tablespoons|tablespoon|tbsp|tbsps))?/