<user>
<ids>
<id>
456
</id>
<id>
123
</id>
</ids>
<username>
Taylor
</username>
</user>
上面的一个成功运行,但存储了0个记录
请帮我这个
答案 0 :(得分:0)
您需要为singleline
添加.
模式选项以匹配换行符,或[\\s\\S]*
解决此问题:
B = foreach A GENERATE FLATTEN(REGEX_EXTRACT_ALL(x, '<user>\\n\\s*<id>([\\s\\S]*)</id>\\n\\s*<username>([\\s\\S]*)</username>\\n\\s*</user>'))
甚至省略\n
,因为\s
已经抓住了它:
B = foreach A GENERATE FLATTEN(REGEX_EXTRACT_ALL(x, '<user>\\s*<id>([\\s\\S]*)</id>\\s*<username>([\\s\\S]*)</username>\\s*</user>'))