首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >POSIX-ERE:匹配一个单词,但在方括号之间不匹配

POSIX-ERE:匹配一个单词,但在方括号之间不匹配
EN

Stack Overflow用户
提问于 2018-04-09 11:51:25
回答 2查看 133关注 0票数 0

我试图匹配“组织”一词的出现,但当它出现在方括号中时,则不匹配:

示例字符串:

组织“组织名称”必须包含每个组织至少一个用户。组织的ID id必须仅包含数字。

我试着用:

代码语言:javascript
复制
(?:^|\s)(organization)(?!])

但是在我使用的应用程序中唯一支持的是POSIX扩展 Regex。

EN

回答 2

Stack Overflow用户

发布于 2018-04-09 12:12:15

“组织”一词的出现情况,但在方括号内出现的情况除外

最短的路将是(?!<\[)(organization)(?!=\])

在我使用的应用程序中,唯一支持的是POSIX扩展Regex。

因为负面的外观是不可用的:([^[]|^)(organization)([^]]|$)

这不能与[organizationorganization]匹配;如果您希望在缺少开括号或近括号时成功,则必须显式添加以下情况:

代码语言:javascript
复制
([^[]|^)(organization)([^]]|$)|\[(organization)([^]]|$)|([^[]|^)(organization)\]
票数 0
EN

Stack Overflow用户

发布于 2018-04-09 13:46:33

是的,你说得对括号里的情况不应该匹配

谢谢你的帮助!我最后使用了这个变体:

代码语言:javascript
复制
([^\[]|^)(organization)([^\]]|$)

我不得不逃出[在射程内]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49732284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档