regex - 正则表达式负前瞻和大括号
问题描述
我正在尝试创建一个负前瞻正则表达式,它可以正常工作,spec/features/(?!foo|bar).*/**/*_spec.rb
但是当与它结合使用时{}
它停止工作,以下不起作用{spec/features/(?!foo|bar).*/**/*_spec.rb}
。我找不到任何关于其背后原因的文档,一些想法?
具体用例如下:
我有以下结构:
spec/features/foo/
spec/features/bar/
spec/features/other/
spec/features/muchmore/
我只想选择那些不是spec/features/foo/
norspec/features/bar/
的,所以我使用以下正则表达式:spec/features/(?!foo|bar).*/**/*_spec.rb
. 如果按定义使用,则此正则表达式效果很好。但是,rspec 正在添加{}
到我的正则表达式(此处),因此 rspec 使用的最终正则表达式是{spec/features/(?!foo|bar).*/**/*_spec.rb}
由于某些未知的原因,这阻碍了我的方法,因此它停止工作。由于我无法避免{}
,所以一些关于如何{}
影响的想法?
解决方案
推荐阅读
- python - 为什么来自多个 python 进程的 python 线程在同一个 cpu 上运行?
- android - 如何以编程方式保持纵横比居中裁剪图像?
- state - Apache Flink 中的有状态函数容错消息分发
- amazon-web-services - 如何使用boto3 lib在lambda函数中获取所有区域中的所有aws资源
- jquery - jQuery $.each 循环:更改对象属性
- c# - 如何查找给定本地 IP 地址的网络接口
- r - 如何根据唯一值的数量选择列?
- javascript - 如何防止电子表格中来自 Google Web App 表单的受访者之间的混合数据?
- datadog - DataDog 日志搜索空字符串方面
- javascript - ChartJS 将自定义工具提示添加到堆叠条形图