RegEx从内部减去文本

问题描述 投票:-1回答:2

我有一个示例字符串:

* DataFromAdHoc(cbgv)

我想通过RegEx提取:

DataFromAdHoc

到目前为止,我已经想到了类似的东西:

^[^#][^\(]+

但遗憾的是没有积极的结果你有没有想过为什么它不工作?

regex
2个回答
2
投票

你试过^[^#][^\(]+的正则表达式会匹配:

  • 从字符串的开头,它不应该是#^[^#]
  • 然后匹配,直到你遇到一个括号(我认为你不必在字符类中转义括号)[^\(]+

所以这将匹配*DataFromAdHoc,包括*,因为它不是#

你可以做什么,它在像[^\(]+这样的组中捕获这部分([^(]+)

然后你的正则表达式看起来像:

^[^#]([^(]+)

DataFromAdHoc将在第1组。


0
投票

使用^\*(\w+)\(\w+\)$

它只是在*和括号内的东西之间获取所有内容。

您的答案可能取决于您正在运行正则表达式的语言,请在您的问题中包含该语言。

© www.soinside.com 2019 - 2024. All rights reserved.