regex - 与端线匹配的负向后看?
问题描述
我正在尝试匹配以 < 和后续文本开头的所有行,但我不想捕获 <3。在 JS 中匹配这个的正则表达式是 ^<(?!3$).*$
<3 // doesn't match
<34 // matches
<bla bla // matches
谢谢你的帮助
解决方案
如果您确实必须支持复杂的正则表达式而不必进行多次传递,您可以使用 Go 项目skybet/goback
,例如确实提供扩展的正则表达式功能(与re2 语法相比扩展)
re := regexp.MustCompile(`(?<=a[0-9]{3,5})a`)
fmt.Println(re.MatchString("a12a")) // false
fmt.Println(re.MatchString("a12345a")) // true
但是,正如这个库中提到的:
该实现不保证线性处理时间。
推荐阅读
- javascript - 在 next.js 中将 props 作为类名传递
- javascript - TypeError:无法读取未定义 Discord.js 的属性“id”
- reactjs - 在异步函数中对数组中的每个值进行 api 调用
- c# - 如何更改导航 Titleview - Xamarin Forms 的背景颜色?
- java - 我怎样才能让它再次运行?
- c# - 图表错误 此数据系列只能设置 1 个 Y 值
- java - Oracle自治数据库JDBC错误没有更多数据可以从套接字读取,但webapp可以正常工作
- json - Spring Kafka 监听器使用 JSON 并推断域对象
- javascript - 尝试从 collectionGroup 中读取时,为什么会出现权限错误?
- python - 向 GeoPandas 图例添加自定义名称