楼主: 中国火箭
1452 4

[有偿编程] 正则表达式贪婪匹配 [推广有奖]

  • 0关注
  • 0粉丝

本科生

46%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
344 点
帖子
27
精华
0
在线时间
138 小时
注册时间
2005-6-11
最后登录
2018-10-1

10论坛币



假设有字符串: word<-'新车aaa比ttt新车ttt比ttt旧款tttt好看ttttt好看'
word<-"ttttttttt新车旧款hhhhhhh新车比旧款好看aaaaaaaa好看jjjjjjjjjj"

如何抓出 新车 比 旧 好看 的字符串

pattern<-'新车.*?比.*?旧.*?好看'
a<-gregexpr(pattern, word, perl = TRUE)
substr(word,a[[1]][1],attr(a[[1]],'match.length'))



现在我的pattern写的,会多抓内容或者被截断

Capture.JPG



关键词:正则表达式 表达式 word 字符串 表达式
沙发
gongjiangchao 发表于 2017-6-9 18:40:58 |只看作者 |坛友微信交流群
library(stringr)
str_extract_all(word,"新车|比|旧|好看")

使用道具

藤椅
中国火箭 发表于 2017-6-12 10:12:20 |只看作者 |坛友微信交流群
gongjiangchao 发表于 2017-6-9 18:40
library(stringr)
str_extract_all(word,"新车|比|旧|好看")
您理解错了,我是要提出整句话,比如word<-'新车aaa比ttt新车ttt比ttt旧款tttt好看ttttt好看', 希望提出:新车ttt比ttt旧款tttt好看ttttt好看; word<-"ttttttttt新车旧款hhhhhhh新车比旧款好看aaaaaaaa好看jjjjjjjjjj",希望提出:新车比旧款好看

使用道具

板凳
gongjiangchao 发表于 2017-6-12 12:44:00 |只看作者 |坛友微信交流群
中国火箭 发表于 2017-6-12 10:12
您理解错了,我是要提出整句话,比如word
library(stringr)
library(purrr)
pattern<-"(新车).*?(比).*?(旧).*?(好看)"
da<-str_match(word,pattern)
reduce(da[,-1],str_c)

使用道具

报纸
中国火箭 发表于 2017-6-12 17:24:47 |只看作者 |坛友微信交流群
gongjiangchao 发表于 2017-6-12 12:44
library(stringr)
library(purrr)
pattern
您还是没有理解我的意思, tttt那些字母是我用来代替 不确定文本的,

比如有的用户会评论: 新车比旧款改进了造型,看起来比旧款好看
有的会说: 新车挺不错,比旧款好看多了

我希望能抓到整句话,比如word<-'新车aaa比ttt新车ttt比ttt旧款tttt好看ttttt好看', 希望提出:新车ttt比ttt旧款tttt好看ttttt好看; word<-"ttttttttt新车旧款hhhhhhh新车比旧款好看aaaaaaaa好看jjjjjjjjjj",希望提出:新车比旧款好看


不过还是很谢谢你的回答,第一次见到purrr包

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 00:29