不能为我的生活搞清楚这一点......
我正在解析一个食谱:
Steak and Eggs
Serves 1
150g potatoes, diced
2 tsp olive oil
½ white onion, peeled and chopped
Salt and pepper
200g sirloin steak or rump steak, trimmed of fat
2 large eggs
Reduced carb meal
Family friendly
这是我的reg ex的第一部分,它与标题和服务号码相匹配:
(\D*\n*)(?:\nServes )(\d\n)
我想在最后点击类别时停止匹配。我已经解决了这些可能包含'减少''家庭''快速'等。
然后我尝试这样做:
/(\D*\n*)(?:\nServes )(\d\n)((.*\n)*)(?:Carb|Reduced|Quick|Family)/
但是,如果有两个标签,如示例中所示,将包括“减少碳水化合物餐”,因为Reg Ex一直持续到“家庭”行。
任何帮助将不胜感激,因为我已经在这2小时!
您只需将非捕获组更改为负向前瞻,如下所示:
/(\D*\n*)(?:\nServes )(\d\n)(.*(?:\n(?!Carb|Reduced|Quick|Family).*)*)/
根据@bobble泡泡的建议编辑,给他信用!