[英]Regex for matching a phrase followed by certain numbers followed by certain string
另一個我無法解決的正則表達式問題。 :/
我有以下輸入向量:
x <- c("test", paste0(rep(paste0("Q18r", c(1:14, 997)), each = 2), c("c1", "c2")))
我現在想做以下比賽:
問題是我無法弄清楚如何在末尾添加“c1”,即我至少在前兩場比賽中讓它工作:
stringr::str_subset(x, "Q18r(?=[1-3]|1[1-2])|(997)")
我嘗試了很多不同的 c1 匹配,即(?=c1)
,只有c1
, (c1)
等,但沒有任何效果。
有任何想法嗎?
您可以使用
stringr::str_subset(x, "Q18r(?:[1-3]|1[1-2]|997)c1")
[1] "Q18r1c1" "Q18r2c1" "Q18r3c1" "Q18r11c1" "Q18r12c1" "Q18r997c1"
正則表達式詳細信息:
Q18r
- 固定的Q18r
字符串(?:[1-3]|1[1-2]|997)
- 匹配1
、 2
、 3
、 11
、 12
或997
的非捕獲組c1
- 一個c1
字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.