Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在Scala中使用正则表达式提取两个单词之间的数据_Regex_Scala - Fatal编程技术网

Regex 在Scala中使用正则表达式提取两个单词之间的数据

Regex 在Scala中使用正则表达式提取两个单词之间的数据,regex,scala,Regex,Scala,我有一个文本文件,其中包含以下格式的数据: 这个食谱可以用立式搅拌机制作,也可以用碗、木勺和强壮的手臂手工制作。如果你用的是咸黄油,请省略食谱中添加的盐。 好吃 成分 1 1/4杯通用面粉160克 1/4茶匙盐 1/2茶匙发酵粉 1/2杯无盐黄油1支,或8汤匙,或室温下112克 1/2杯白糖90克 1/2杯深红糖,包装85克 一个大鸡蛋 1茶匙香草精 1/2茶匙速溶咖啡颗粒或速溶浓缩咖啡粉 1/2杯碎澳洲坚果3 1/2盎司或100克 1/2杯白巧克力片 方法 将烤箱预热至350°F 175°C。

我有一个文本文件,其中包含以下格式的数据: 这个食谱可以用立式搅拌机制作,也可以用碗、木勺和强壮的手臂手工制作。如果你用的是咸黄油,请省略食谱中添加的盐。 好吃 成分 1 1/4杯通用面粉160克 1/4茶匙盐 1/2茶匙发酵粉 1/2杯无盐黄油1支,或8汤匙,或室温下112克 1/2杯白糖90克 1/2杯深红糖,包装85克 一个大鸡蛋 1茶匙香草精 1/2茶匙速溶咖啡颗粒或速溶浓缩咖啡粉 1/2杯碎澳洲坚果3 1/2盎司或100克 1/2杯白巧克力片 方法 将烤箱预热至350°F 175°C。在碗中用力搅拌面粉、盐和发酵粉,并放在一边

我需要提取单词成分和方法之间的数据。 如何在scala中使用正则表达式实现这一点?

使用?s DOTALL修饰符使正则表达式中的点也与换行符匹配

(?s)(?<=\bIngredients\b).*?(?=\bMethod\b)

你的问题不是吗?或者可能更好?您是否考虑过不使用regexp的解决方案可能更简单?您是否尝试过解析器组合器?谢谢您的regex。由于我是Scala新手,请告诉我在定义正则表达式以提取数据后应该编写的Scala代码。