我有以下形式的看涨期权代码:
.TSLA181012C100
我想解析它以提取18、10和12。但是,我不太确定该怎么做,因为句点后的字母可以是可变长度,而句点后的数字也可以是可变长度。
是否有正则表达式可以从右侧找到“ C”并在左侧获得6位数字?
答案 0 :(得分:1)
我们可以在此处尝试使用sub
作为基本的R选项:
code <- ".TSLA181012C100"
num1 <- sub("^\\.[A-Z]+(\\d{2})\\d{4}C.*", "\\1", code)
num1
num2 <- sub("^\\.[A-Z]+\\d{2}(\\d{2})\\d{2}C.*", "\\1", code)
num2
num3 <- sub("^\\.[A-Z]+\\d{4}(\\d{2})C.*", "\\1", code)
num3
[1] "18"
[1] "10"
[1] "12"
答案 1 :(得分:0)
此正则表达式应该起作用:(\d{2}){3}C
或简单地\d+C