首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正则表达式,用于匹配冒号和下一个冒号之前的最后一个换行符

正则表达式,用于匹配冒号和下一个冒号之前的最后一个换行符
EN

Stack Overflow用户
提问于 2019-05-22 04:33:59
回答 1查看 80关注 0票数 2

我正在尝试用正则表达式解析一个字符串,以提取冒号和下一个冒号之前的最后一个换行符之间的信息。我该怎么做呢?

代码语言:javascript
复制
string <- "Name: Al's\nPlace\nCountry:\nState\n/ Province: RI\n"
stringr::str_extract_all(string, "(?<=:)(.*)(?:\\n)")

但我得到了:

代码语言:javascript
复制
[[1]]
[1] " Al's\n" " \n"  " RI\n" 

当我需要的时候:

代码语言:javascript
复制
[[1]]
[1] " Al's\nPlace\n" " \n"  " RI\n" 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-22 06:12:09

我不确定这是否是你想要的,因为你想要的输出看起来有点不同。

代码语言:javascript
复制
:((?:.*\\n?)+?)(?=.*:|$)

  • :匹配colon
  • ((?:.*\n?)+?)匹配,并对任何行执行lazily (到可选的ahead

,直到有冒号ahead的行为止

See this demo at regex101

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56245970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档