r - R 正则表达式:结束锚($)在前面有可选字符(?)时停止工作
问题描述
为什么当结束锚 ($) 前面有可选的字符锚 (?) 时,我的正则表达式停止工作?例如
library(tidyverse
s <- '[S|s][EG|eg]?'
s2 <- '^[S|s][EG|eg]?$'
[1] TRUE TRUE
c('s','Seg') %>% str_detect(s2)
[1] TRUE FALSE
用正则表达式包装[ ]
也不起作用
s3 <- '^[[S|s][EG|eg]?]$'
c('s','Seg') %>% str_detect(s)
c('s','Seg') %>% str_detect(s3)
[1] TRUE FALSE
解决方案
^[[S|s][EG|eg]?]$
火柴
- 列表中的单个字符:
[ S | s
- 和列表中的一个可选字符:
E G | e g
- 和一个右方括号
]
推荐阅读
- java - 有没有办法通过哈希操作中的java仅使redis中的哈希键(子键)过期
- css - 如何在本机反应中绘制半椭圆?
- solr - apache solr 多字通配符搜索不起作用
- javascript - users.get(principalID) 的 azure-graph 权限
- node.js - MongoDB bulk.execute() 承诺既不解决也不拒绝,并且不返回 bulkWriteResult
- tensorflow - 如何将 Dlib 权重转换为 tflite 格式?
- r - 在 gsub 函数中定义的参数之前将给定字符替换为新字符
- css - 使用文本缩放 div 内的图像
- python-2.7 - 使用 dejavu(python 脚本)麦克风歌曲识别与从智能手机(phonegap)到服务器的音频数据流
- c# - 必须使用 await/async 在与 DependencyObject 相同的线程上创建 DependencySource