, , regmatches, str_extract_all ( stringr), grep, grep , .
> vector<-c(
+ "ARNT",
+ "ACF, ASP, ACF64",
+ "BID",
+ "KTN1, KTN",
+ "NCRNA00181, A1BGAS, A1BG-AS",
+ "KTN1-AS1")
> regmatches(vector, regexpr("(?i)\\bKTN1[-\\w]*\\b", vector, perl=T))
[1] "KTN1" "KTN1-AS1"
> library(stringr)
> unlist(str_extract_all(vector[grep("(?i)\\bKTN1[-\\w]*\\b", vector)], perl("(?i).*\\bKTN1[-\\w]*\\b")))
[1] "KTN1" "KTN1-AS1"
Update:
> grep("\\bKTN1(?=$|,)", vector, perl=T, value=T)
[1] "KTN1, KTN"
, KTN1, .
> grep("\\bKTN1\\b(?!-)", vector, perl=T, value=T)
[1] "KTN1, KTN"
, KTN1, .