regex - 转到正则表达式以捕获具有特殊字符的第一次出现

标签 regex go

如果给定 (TEXT)test (GOPHER)mytest (TAG)(not_this),

我只想 grep 括号内第一次出现的字符。

正则表达式结果需要是TEXTGOPHERTAG,但不是not_this,因为这不是该单词短语中的第一次出现。并且 grepped 文本应该只是字母而不是数字。

regexp.MustCompile(`(?i)\([a-z0-9_-])+\]`)
// is not working

如何编写正则表达式来 grep this?提前致谢!

最佳答案

我认为 regex您正在寻找的是:

(?:^|\W)\(([\w-]+)\)

含义:

(?:^|\W) /* find but discard the sequence-start or a non-word character */

\(CONTENTS\) /* Contained in () */

(CONTENTS) /* Selection Group */

[\w-]+ /* word character or -, once or more */

关于regex - 转到正则表达式以捕获具有特殊字符的第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490455/

相关文章:

c++ - 如何从路径中获取文件名的词干?

Java 正则表达式提供任何性能优势?

go - 实现库回调

go - 如何强制 VSCode 在 goimports 匹配多个同名包的情况下需要手动选择?

php - 模式匹配 css 规则

javascript - jQuery 查找所有以定义的字符串开头并以数字结尾的 id

javascript - 使用字母、数字和一些特殊字符进行文本框验证的正则表达式

go - 使用 Golang 在 Atom 编辑器中将 Cmd+Click 导航添加到定义中?

json - Go struct 表示 twitter JSON 结果

go - 如何处理基于时间的一次性密码的 26 字节 secret ?