【发布时间】:2026-01-21 19:15:02
【问题描述】:
为什么 R(至少使用 tidyverse/stringr)可以识别以下正则表达式:*\.(png|jpg|jpeg)? (在R中由于字符转义实际上需要写字符串"*\\.(png|jpg|jpeg)")
我认为正确的正则表达式应该是.*\.(png|jpg|jpeg)(用R写成".*\\.(png|jpg|jpeg)"))
当我介绍第一个表达式时,例如regex101.com,它说这是一个非法的正则表达式。但 R 似乎可以毫无问题地解析它。
为什么?
表达式*\.(png|jpg|jpeg) 是有效的正则表达式吗?如果是这样,为什么 regex101 抱怨?如果不是,为什么 R 接受它?
【问题讨论】: