首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prismjs: regex正向后等价?

Prismjs: regex正向后等价?
EN

Stack Overflow用户
提问于 2020-03-12 08:21:00
回答 1查看 229关注 0票数 2

我使用的是Prism.js,它是语法高亮器,它突出显示了匹配某些正则表达式的单词。

我想在单词git,之后匹配任何单词,所以我尝试像这样使用正向查找。

代码语言:javascript
复制
(?<=git )\w+

不幸的是,它似乎不支持正面查找,所以我必须找到一个等价的正则表达式。在不使用正向后查找的情况下,有任何方法可以在单词git后面匹配单词吗?

例如,我想要做到这一点,没有积极的后盾。

代码语言:javascript
复制
"git checkout master" -> only "checkout"
"git log --graph" -> only "log"
"anything after the word git matches" -> only "matches"

此外,我不能使用组,因为我不能告诉棱镜选择某些组。它将永远突出整个比赛。例如,(?:git )(\w+)将在第一个组中的单词git之后保存任何单词,但它与单词git和后面的git匹配。所以它会突出显示

代码语言:javascript
复制
"git checkout master" -> "git checkout"
"git log --graph" -> "git log"
"anything after the word git matches" -> "git matches"

这不是我想要的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-12 12:09:45

正如@WiktorStribiżew评论中正确地提到的那样:“如果您无法访问一个组,并且没有查找功能,或者\K运算符,您就不能满足您的需要。”但是,通常情况下,如果不太了解Prism --通过它的文档进行搜索--就会让我了解,在lookbehind选项部分,该部分指出:

“‘回溯’:此选项缓解了JavaScript缺乏查找功能的问题。当设置为true时,正则表达式模式中的第一个捕获组在匹配此令牌时会被丢弃,因此它的行为实际上就像是在查找。”

以上所述意味着当您设置了(\bgit )\w+时,可以尝试一个类似于:lookbehind: true的模式。

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

https://stackoverflow.com/questions/60650075

复制
相关文章

相似问题

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