regex - 去正则表达式否定回顾
问题描述
我有一个适用于 PCRE 的正则表达式,可以很好地检测某个单词之前没有任何特殊字符。例如,检测 T4 可以很好地与(?!\S)T4(?!\S)
.
匹配:T4
不匹配:^T4
或=T4
但是,我不确定 Go Regex 是否支持负面观察。有没有可以在 Go Regex 中使用的等效项?
解决方案
Golang 正则表达式通常不支持负面的lookbehinds 和lookarounds。
您可以使用以下方法检查空格或字符串的开头/结尾之间是否有单词
pattern := regexp.MustCompile(`(?:\s|^)T4(?:\s|$)`)
在哪里
(?:\s|^)
- 匹配空格或字符串开头的非捕获组T4
- 文字子串(?:\s|$)
- 匹配空格或字符串结尾的非捕获组。
推荐阅读
- kubernetes - Tracing Apache Camel route with Jaeger
- node.js - Dialogflow 实现无法使用 Mongoose 连接到 MongoDB
- kubernetes - 如果 Kubernetes pod 超出其 cpu 资源“限制”会怎样?
- ios - 如何从 XcodeTest setup() 运行终端命令?
- python - 如何在python代码中给出输入文件位置和输出位置
- sql - 如何在 Postgresql 中查找多行之间的重叠日期范围?
- c++ - 如何估计 PXA27x 处理器上卷积的执行时间?
- android - 即使在使用 NDEF 跳过标志启用阅读器模式后也会发送 NDEF 选择命令
- selenium - 无法使用 Selenium 从自动完成列表中选择选项
- php - jquery 在不应该加载页面文件时加载