看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 我想使用 R 的正則 排除某些單字 回傳T [程式範例]: str <- "FOE TRX TQS-Q1L59-881 V4 (A0058)" strr <- "FOE TRX TQS-Q1L59-881" pp <- "A0058" # 這邊的正則我不知道要怎麼下 grepl(pp, str) # 這行 希望回傳F grepl(pp, strr) # 這行 希望回傳T 限制是 只能用正則 不能用 !grepl(pp, strr) 爬文參考 https://blog.csdn.net/weixin_34290631/article/details/85743407 [關鍵字]: 正則 排除 字串 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.50.36 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1604379012.A.04D.html ※ 編輯: BUQ (118.163.50.36 臺灣), 11/03/2020 12:51:57
BUQ: 爬了文 還是無法實現 11/03 12:52
BUQ: 每個語言的正則 引擎似乎 都不太相同 11/03 12:52
showfeb: pp <- "^((?!A0058).)*$" 11/03 15:16
showfeb: grepl(pp,str,perl=T) 11/03 15:18
BUQ: 喔 謝謝大大 我去試試 11/03 16:02
BUQ: 有加 perl=T 和沒加 差別是什麼? 11/03 16:03
BUQ: (?!A0058) 這個我了解了 那外圍一層的 (.)是什麼意思 捕獲嗎 11/03 17:07
andrew43: 當年perl創立了很多新語法,大家覺得很好用,就留下來 11/03 18:07
andrew43: 了 11/03 18:07
andrew43: S有宣告的話會不能用到這些從perl開始的新語法 11/03 18:09
andrew43: 沒有宣告的話 11/03 18:15
andrew43: 至於showfeb板友的辦法是常見的「negative match」語法 11/03 22:11
andrew43: 見 https://tinyurl.com/yccdnsw7 有詳解。 11/03 22:11
BUQ: 感謝 大大 大概看懂了 11/04 09:22