加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

猪的正则表达式匹配

发布时间:2020-12-13 21:54:02 所属栏目:百科 来源:网络整理
导读:使用apache猪和文本 hahahah. my brother just didnt do anything wrong. He cheated on a test? no way! 我试图匹配“我哥哥没做错什么.” 理想情况下,我想要匹配任何以“我的兄弟”开头并以标点符号(句末)或EOL结尾的内容. 查看猪文档,然后按照java.util.r
使用apache猪和文本
hahahah.  my brother just didnt do anything wrong. He cheated on a test? no way!

我试图匹配“我哥哥没做错什么.”

理想情况下,我想要匹配任何以“我的兄弟”开头并以标点符号(句末)或EOL结尾的内容.

查看猪文档,然后按照java.util.regex.Pattern的链接,我想我应该可以使用

extrctd = FOREACH fltr GENERATE FLATTEN(EXTRACT(txt,'(my brother just .*p{Punct})')) as (txt:chararray);

但这似乎匹配到行结束.有关执行此匹配的任何建议吗?我已经准备好把头发拉出来了,把头发拉出来,我的意思是转换成python流

默认情况下,量词是 greedy.这意味着它们尽可能匹配.在这种情况下,您只想匹配第一个标点符号.换句话说,你想尽可能少地匹配.

那么要解决你的问题,你应该通过添加一个?来使quanitifer非贪婪?紧接着它:

my brother just .*?p{Punct}
                  ^

注意使用?这与它作为量词的用途不同,它意味着“匹配零或一”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读