regexp_提取函数-Spark scala获取错误

regexp_提取函数-Spark scala获取错误,scala,apache-spark,Scala,Apache Spark,这是样品记录 SYSTEM, paid18.26 toward test sys, paid $861.82 toward your L, paid $1119.00toward your 我需要提取付费和付费之间的数据。我已经写了下面这样的声明,我没有得到输出 withColumn("message_comment_txt_amount",regexp_extract(col("message_comment_txt"),"(?i)paid\

这是样品记录

SYSTEM, paid18.26 toward test
sys, paid $861.82 toward your
L, paid $1119.00toward your
我需要提取付费和付费之间的数据。我已经写了下面这样的声明,我没有得到输出

withColumn("message_comment_txt_amount",regexp_extract(col("message_comment_txt"),"(?i)paid\\s+(.*?)\\s+(?i)toward",1))
我没有得到想要的

预期产量

18.26 
861.82 
1119.00

请告诉我确切的错误在哪里。

假设金额总是在“已付”和“朝向”之间

上面的代码段向dataset/df添加了一个新的列量。但它不会检查/替换$符号。如果这在所有情况下都能像预期的那样正常工作,那么可以在下一步中替换它

 val amount = df.withColumn(
      "amount",
      regexp_extract(col("message_comment_txt"), "^paid(.*)toward.*", 1)
    )