【发布时间】:2020-09-24 05:49:03
【问题描述】:
我正在尝试使用编程语言 R、版本 4.0.2 和 stringr 包中的正则表达式从字符串中提取模式的第二个实例。
> test_string <- "Viscocity S <=0.25 S <=0.25 Levorotatory S <=21 R <=2.5 Giminal S <=1 S <=1"
我有以下正则表达式可以提取第一个模式(专门用于左旋):
regex <- "(\\s*(?:S|R|I|N/I)(\\s*\\W*\\d*\\.?\\d?\\d?\\d?\\s*))"
str_trim(str_extract_all(test_string, glue('(?<=Levorotatory){regex}')))
这给了我输出:
"S <=21"
但我想抓住第二种模式:R <=2.5
到目前为止,我已经能够使用量词提取两种模式:
regex <- "(\\s*(?:S|R|I|N/I)(\\s*\\W*\\d*\\.?\\d?\\d?\\d?\\s*)){2}"
str_trim(str_extract_all(test_string, glue('(?<=Levorotatory){regex}')))
output: "S <=21 R <=2.5"
这不是我想要的。
我的问题:我可以只获取正则表达式模式的第二个实例吗?
【问题讨论】: