我想在"="
之后提取单词。对于文档中的"GENEINFO=AGRN:"
,我可以使用正则表达式/GENEINFO=(.*?):/
来提取所需的内容。但是,我想要返回的值只是"AGRN"
。我可以用这个任务进行单行程吗?
答案 0 :(得分:3)
尝试使用lookbehind和lookahead:
/(?<=GENEINFO=).*?(?=:)/
答案 1 :(得分:2)
您也可以使用match
:
'GENEINFO=AGRN:'.match(/GENEINFO=(.*?):/)[1]
#=> "AGRN"
也可以使用String#[]方法编写:
'GENEINFO=AGRN:'[/GENEINFO=(.*?):/, 1]
#=> "AGRN"
答案 2 :(得分:1)
"GENEINFO=AGRN:"[/(?<==).*(?=:)/]
# => "AGRN"
答案 3 :(得分:0)
你需要一个后视和前瞻。
pattern = /(?<=GENEINFO=)(.*?)(?=:)/
value = "GENEINFO=AGRN:".scan(pattern)
// [["AGRN"]]