You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式提取逗号分隔值?NiFi ExtractText处理器求助

解决NiFi ExtractText提取CSV单行数据到属性的问题

嘿,针对你这个从单行CSV提取5个字段到指定属性的需求,我给你准备了每个属性对应的正则表达式,直接就能用:

每个属性对应的正则表达式

  • DatabaseConnectionURL:^([^,]+)
    • 解释:从行开头开始,捕获第一个逗号之前的所有内容,正好对应你的数据库连接URL。
  • DatabaseDriverClass:^[^,]*,([^,]+)
    • 解释:先跳过第一个字段和后面的逗号,然后捕获第二个逗号之前的内容,也就是驱动类名。
  • DatabaseDriverLocation:^[^,]*,[^,]*,([^,]+)
    • 解释:跳过前两个字段及对应的逗号,捕获第三个字段(驱动jar的路径),这个正则会自动处理路径里的反斜杠和特殊字符,只要路径里没有逗号就没问题。
  • DatabaseUser:^[^,]*,[^,]*,[^,]*,([^,]+)
    • 解释:跳过前三个字段和逗号,捕获第四个字段(数据库用户名)。
  • Password:^[^,]*,[^,]*,[^,]*,[^,]*,([^,]+)$
    • 解释:跳过前四个字段和逗号,捕获行结尾前的所有内容,也就是密码。

额外注意事项

  1. 确保你的ExtractText处理器的**“匹配策略”**设置为提取第一个匹配项(因为每个正则只会匹配一次,对应唯一的字段)。
  2. 因为你的CSV只有一行数据,不需要处理多行的情况,这些正则刚好适配单行场景。
  3. 如果后续字段里可能出现逗号(比如密码里有逗号),那就要用更复杂的CSV解析正则,但根据你提供的内容,当前的正则完全够用。

内容的提问来源于stack exchange,提问作者Rishab Prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:10:01