作者BUQ (固執又暴燥)
看板R_Language
標題[問題] 正則 排除 某個單字
時間Tue Nov 3 12:50:08 2020
[問題類型]:
程式諮詢(我想用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
→ BUQ: 感謝 大大 大概看懂了 11/04 09:22