[英]regular expression find strings with certain pattern in R
我在這里有一些字符串,它們是:
12ABC3, 2ABC45, ABC 56, uhyABC, REGEXP ...
目標是只要字符串中有'ABC'(不是'BCA'或'BAC'),當使用'grepl'時它應該返回TRUE
所以輸出應該是
TRUE, TRUE, TRUE, TRUE, FALSE
任何人都可以幫我嗎?
提前致謝
你想在grepl
的調用中使用fixed = TRUE
。
> x <- c("12ABC3", "2ABC45", "ABC 56", "uhyABC", "REGEXP", "BCA", "CAB")
> grepl("ABC", x, fixed = TRUE)
# [1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE
fixed
參數定義是
邏輯。 如果為TRUE,則pattern是要按原樣匹配的字符串。 覆蓋所有沖突的參數。
您可以使用以下內容。
> x <- c('12ABC3', '2ABC45', 'ABC 56', 'uhyABC', 'REGEXP')
> grepl('ABC', x, fixed=T)
# [1] TRUE TRUE TRUE TRUE FALSE
> x[grepl('ABC', x, fixed=T)]
# [1] "12ABC3" "2ABC45" "ABC 56" "uhyABC"
這個表達怎么樣: \\w*ABC[\\w\\s]*
\\w*
匹配任何單詞字符[a-zA-Z0-9_]
*
將使其匹配從0到無限次。
\\w\\s]*
匹配任何單詞字符[a-zA-Z0-9_ ]
這個包含你[a-zA-Z0-9_ ]
表達式中的空格,並且*
將使它從0到無限次匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.