【问题标题】:Getting value using regex [duplicate]使用正则表达式获取价值 [重复]
【发布时间】:2015-04-16 12:28:00
【问题描述】:

如何从具有多个{} 的字符串中获取第一个{ 和最后一个} 之间的值。

eg string:  ".....[object:{ ..{...{..}...}..}]"

我使用 C# 的方法:

line="abcd..efg..[object:{ ab{..c{d.}.e.}f....g}]"
string p = ".*\\[Object:{([A-Za-z{}]*)}\\]";
Regex r = new Regex(p);
Match m=r.match(line);
string value=m.Groups[1].Value.ToString();

结果应该是:

value= ab{..c{d.}.e.}f....g

【问题讨论】:

标签: regex


【解决方案1】:
{.*}

(?<={).*(?=})

这应该对你有用。见demo

string strRegex = @"{.*}";
Regex myRegex = new Regex(strRegex, RegexOptions.Multiline);
string strTargetString = @".....[object:{ ..{...{..}...}..}]";

foreach (Match myMatch in myRegex.Matches(strTargetString))
{
  if (myMatch.Success)
  {
     // Add your code here
  }
}

【讨论】:

  • 成功了,谢谢:)
猜你喜欢
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 1970-01-01
相关资源
最近更新 更多