2010年6月,主演的电视剧《雪豹》在北京地方台夺得收视冠军,随后在其他各地方台播出,10月《失恋33天》饰演王小贱(12张){9990:xxxx}
日该剧在四川卫视首播。[20] 剧中文章突破其以往塑造的幽默贫嘴的男孩形象,成功塑造了男主角周卫国冷静沉稳、{ppp:xxxx}刚毅果敢的人物形象。[21]
求一正则表达式匹配{}内的内容,2个一个带着{},一个只匹配{}里面的内容
带{} 支持.net java python perl javascript
\{(\w+(\:|:)\w+)\}
不带{} ,支持.net java python perl ,不支持javascript,一定要用js的话建议用上面的正则匹配后再用字符串处理。
(?<=\{)((\w+(\:|:)\w+))(?=\})
貌似一个都没匹配出来
@罗拉可乐:
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(); }
@段隆贤:
var matches = Regex.Matches(intput, @"\{(\w+\:\w+)\}");
foreach (Match item in matches)
{
Console.WriteLine(item.Groups[0].Value);
Console.WriteLine(item.Groups[1].Value);
}
好像不太行,有些匹配不出来
@罗拉可乐: {X:Y}可能是什么数据?方便贴出来不
@JaggerMan: 什么都有可能
@罗拉可乐:
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();
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(); } } } }
这样不管大括号里有什么都能匹配出来
这样匹配出来带着{},若是不带{}这个呢怎么写