regex - 使用正则表达式搜索文本

标签 regex c#-4.0

我需要一个正则表达式来获取句子中 [] 之间的文本。

示例文本:

Hello World - Test[**This is my string**]. Good bye World.

期望的结果:

**This is my String**

我想出的正则表达式是 Test\\[[a-zA-Z].+\\],但这会返回整个 **Test[This is我的字符串]**

最佳答案

您可以使用捕获组来访问感兴趣的文本:

\[([^]]+)\]

使用 JavaScript 的快速概念证明:

var text = 'Hello World - Test[This is my string]. Good bye World.'
var match = /\[([^\]]+)\]/.exec(text)
if (match) {
  console.log(match[1]) // "This is my string"
}

如果您使用的正则表达式引擎同时支持 lookaheadlookbehind ,Tim的解决方案比较合适。

关于regex - 使用正则表达式搜索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7950817/

相关文章:

python - 如何使用python正则表达式计算文本中特殊字符后面的单词的出现次数

php - 等于posix regex c++中的pcre regex

c# - 通过C#登录一个网站,导航到另一个网页,然后将源代码输出为字符串

c#-4.0 - if 内的代码重复问题

asp.net-mvc-3 - 在 facebook C# SDK 6.4 中替代 Facebook 订阅验证

c# - 为什么我通过 C# 代码得到格式错误的契约(Contract)?

javascript - 用于查找电话号码中重复模式的正则表达式?或许不是?

regex - preg_match 数字负数和正数

python - 正则表达式帮助 - 分隔符

c# - 您如何找到 Windows 服务的 .NET 版本?