gpt4 book ai didi

regex - 如何在 Smalltalk 正则表达式中匹配 [ ?

转载 作者:行者123 更新时间:2023-12-04 18:22:40 25 4
gpt4 key购买 nike

我要配[在 Pharo 6 中的正则表达式中。

这工作正常:

| matcher |
matcher := RxMatcher forString: '\['.
matcher matches: '['. "produces true"

但是,我看不到如何在 [] 中执行此操作.都没有 [[]也不是 [\[]工作。

我可以匹配结束 ]很好用 []] ,但我不知道如何使用 [ .

最佳答案

不支持

查看RxParser>>atom的执行情况和 RxParser>>characterSet ,根本不支持范围集中的转义字符。

根据文档,其他“特殊”字符 (^,-,]) 只能由集合中的特定位置处理,因此不会触发不同分支的解析。

解决方法

一种解决方法是将范围集拆分为 or-ed 组,例如

[[a-z]

进入
(\[|[a-z])

更好的工具

请注意,Pharo 用户通常被指示使用 PetitParser 而不是正则表达式进行文本解析,因为 PetitParser 更易于管理和调试。至少可以说是一种更面向对象的正则表达式。

关于regex - 如何在 Smalltalk 正则表达式中匹配 [ ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45824000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com