首页 新闻 搜索 专区 学院

谁帮忙写一个正则表达式?

0
悬赏园豆:10 [已解决问题] 解决于 2014-12-30 11:25

2010年6月,主演的电视剧《雪豹》在北京地方台夺得收视冠军,随后在其他各地方台播出,10月《失恋33天》饰演王小贱(12张){9990:xxxx}

日该剧在四川卫视首播。[20] 剧中文章突破其以往塑造的幽默贫嘴的男孩形象,成功塑造了男主角周卫国冷静沉稳、{ppp:xxxx}刚毅果敢的人物形象。[21]

 

 

求一正则表达式匹配{}内的内容,2个一个带着{},一个只匹配{}里面的内容

罗拉可乐的主页 罗拉可乐 | 初学一级 | 园豆:-1
提问于:2014-12-29 14:01
< >
分享
最佳答案
0

带{} 支持.net java python  perl  javascript

\{(\w+(\:|:)\w+)\}

 

不带{} ,支持.net java python  perl ,不支持javascript,一定要用js的话建议用上面的正则匹配后再用字符串处理。

(?<=\{)((\w+(\:|:)\w+))(?=\})

 

 

收获园豆:5
Lucien! | 菜鸟二级 |园豆:371 | 2014-12-30 08:46

貌似一个都没匹配出来

罗拉可乐 | 园豆:-1 (初学一级) | 2014-12-30 09:56

@罗拉可乐: 

        static void reg()
        {
            string intput = "2010年6月,主演的电视剧《雪豹》在北京地方台夺得收视冠军,随后在其他各地方台播出,10月《失恋33天》饰演王小贱(12张){999:xxxx}日该剧在四川卫视首播。[20]){sfweg66:xww35xxx} 剧中文章突破其以往塑造的幽默贫嘴的男孩形象,成功塑造了男主角周卫国冷静沉稳、{ppp:xxxx}刚毅果敢的人物形象。[21]";
            var matches = Regex.Matches(intput, @"(?<=\{)((\w+(\:|:)\w+))(?=\})");
            foreach (Match item in matches)
            {

                Console.WriteLine(item.Groups[0].Value);
                Console.WriteLine(item.Groups[1].Value);
            }
            Console.ReadKey();
        }
Lucien! | 园豆:371 (菜鸟二级) | 2014-12-30 10:21

@段隆贤: 

Lucien! | 园豆:371 (菜鸟二级) | 2014-12-30 10:21
其他回答(2)
0

   var matches = Regex.Matches(intput, @"\{(\w+\:\w+)\}");
          foreach (Match item in matches)
          {

              Console.WriteLine(item.Groups[0].Value);
              Console.WriteLine(item.Groups[1].Value);
          }

收获园豆:3
醉心 | 园豆:99 (初学一级) | 2014-12-29 16:44

好像不太行,有些匹配不出来

支持(0) 反对(0) 罗拉可乐 | 园豆:-1 (初学一级) | 2014-12-29 17:21

@罗拉可乐: {X:Y}可能是什么数据?方便贴出来不

支持(0) 反对(0) 醉心 | 园豆:99 (初学一级) | 2014-12-29 17:28

@JaggerMan: 什么都有可能

支持(0) 反对(0) 罗拉可乐 | 园豆:-1 (初学一级) | 2014-12-30 10:00

@罗拉可乐: 

  string intput = "2010年6月,主演的电视剧《雪豹》在北京地方台夺得收视冠军,随后在其他各地方台播出,10月《失恋33天》饰演王小贱(12张){999:xxxx}日该剧在四川卫视首播。[20]){sfweg66:xww35xxx} 剧中文章突破其以往塑造的幽默贫嘴的男孩形象,成功塑造了男主角周卫国冷静沉稳、{ppp:xxxx}刚毅果敢的人物形象。[21]";
            var matches = Regex.Matches(intput, @"\{(.+?\:.+?)\}");
          foreach (Match item in matches)
          {

              Console.WriteLine(item.Groups[0].Value);
             Console.WriteLine(item.Groups[1].Value);
          }
          Console.ReadKey();

支持(0) 反对(0) 醉心 | 园豆:99 (初学一级) | 2014-12-30 10:10
0
using System;
using System.Text.RegularExpressions;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string input = "日该剧在四川卫视首播。[20] 剧中文章突破其以往塑造的幽默贫嘴的男孩形象,成功塑造了男主角周卫国冷静沉稳、{ppp:xxxx}刚毅果敢的人物形象。[21]";
var matches = Regex.Matches(input, @"\{(.+)}");
foreach (Match item in matches)
{
Console.WriteLine(item.Groups[0].Value);
Console.WriteLine(item.Groups[1].Value);
Console.ReadLine();
}
}
}
}

这样不管大括号里有什么都能匹配出来

收获园豆:2
Slark.NET | 园豆:692 (小虾三级) | 2014-12-29 21:53

这样匹配出来带着{},若是不带{}这个呢怎么写

支持(0) 反对(0) 罗拉可乐 | 园豆:-1 (初学一级) | 2014-12-30 10:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册