正则表达式从第一个字符到字符串的结尾

前端之家收集整理的这篇文章主要介绍了正则表达式从第一个字符到字符串的结尾前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在一个 related post中,有人询问如何从字符串的开头到第一次出现的字符.我想通过询问如何从字符串的某个字符抓到最后来扩展我对正则表达式的了解.

我怎么能用gsub的正则表达式(不是strsplit)从第一个空格的开头到字符串的结尾?

dob <- c("9/9/43 12:00 AM/PM","9/17/88 12:00 AM/PM","11/21/48 12:00 AM/PM")

在这里我尝试了:gsub(“.*?”,“”,dob)但它从最后一个空间而不是第一个空间抓取所以我尝试了gsub(“.{1}?”,dob)但它过于贪婪因为这个时期.

最终解决方案与以下内容相同:

sapply(lapply(strsplit(dob,"\\s+"),"[",2:3),paste,collapse=" ")
##[1] "12:00 AM/PM" "12:00 AM/PM" "12:00 AM/PM"

注意:R regex通常与正则表达式不同

解决方法

试试:

gsub("^(.*?) .*$","\\1",dob)
# [1] "9/9/43"   "9/17/88"  "11/21/48"

如果您想从第一个空格到字符串的结尾,请尝试:

gsub("^.*? (.*)$",dob)
# [1] "12:00 AM/PM" "12:00 AM/PM" "12:00 AM/PM"

猜你在找的正则表达式相关文章