匹配项R的所有出现的正则表达式函数

时间:2018-08-15 22:55:24

标签: r regex

...此正则表达式函数应该与所有出现的这种格式匹配:

c.1244a>a

但它仅返回第一次出现的情况。

这是正则表达式函数

("(g|c|m|r|p).[0-9]*-[0-9]*del")

a <- "fjfjvjg , c.2587a>f lfkfgg, vk dldC g.2547b>m"
stringr::str_extract(a, ("(g|c|m|r|p).[0-9]*[a-z]>[a-z]"))

2 个答案:

答案 0 :(得分:1)

您可以使用以下解决方案:

a <- "fjfjvjg , c.2587a>f lfkfgg, vk dldC g.2547b>m"
stringr::str_extract_all(a, ("[gcmrp]\\.[0-9]*[a-z]>[a-z]"))[[1]]

[1] "c.2587a>f" "g.2547b>m"

答案 1 :(得分:0)

您可以使用模式:

[gcmrp]\\.\\d{4}[a-z>0-9-]+
  • [gcmrp]字母gcmrp的字符集。
  • \\.\\d{4}句号后跟四个数字。
  • [a-z>0-9-]+字符集,用于小写字母,数字,>-

您可以here试试。


在r中:

a <- "fjfjvjg , c.2587a>f lfkfgg, vk dldC g.2547b>m c.1244-2145del"
stringr::str_extract_all(a, ("[gcmrp]\\.\\d{4}[a-z>0-9-]+"))

打印:

[1] "c.2587a>f"      "g.2547b>m"      "c.1244-2145del"