作者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://webptt.com/cn.aspx?n=bbs/R_Language/M.1604379012.A.04D.html
※ 编辑: BUQ (118.163.50.36 台湾), 11/03/2020 12:51:57
1F:→ BUQ: 爬了文 还是无法实现 11/03 12:52
2F:→ BUQ: 每个语言的正则 引擎似乎 都不太相同 11/03 12:52
3F:→ showfeb: pp <- "^((?!A0058).)*$" 11/03 15:16
4F:→ showfeb: grepl(pp,str,perl=T) 11/03 15:18
5F:→ BUQ: 喔 谢谢大大 我去试试 11/03 16:02
6F:→ BUQ: 有加 perl=T 和没加 差别是什麽? 11/03 16:03
7F:→ BUQ: (?!A0058) 这个我了解了 那外围一层的 (.)是什麽意思 捕获吗 11/03 17:07
8F:推 andrew43: 当年perl创立了很多新语法,大家觉得很好用,就留下来 11/03 18:07
9F:→ andrew43: 了 11/03 18:07
10F:推 andrew43: S有宣告的话会不能用到这些从perl开始的新语法 11/03 18:09
11F:→ andrew43: 没有宣告的话 11/03 18:15
12F:→ andrew43: 至於showfeb板友的办法是常见的「negative match」语法 11/03 22:11
14F:→ BUQ: 感谢 大大 大概看懂了 11/04 09:22