100分求正则表达式牛人帮忙

liuzhenrj09 2012-11-16 12:06:18
现在有一堆数据,格式很乱,里面有英文下的半角:()[]{}<>,全角[]<>(),中文下的【】《》、这些符号,而且并不是对称的,比如: 【ABC]、《DEF>[Z],又比如ABC[(DEF),(GHI)],甚至是ABC(DEF这样只有一半括号的值。所以请教各位大神能不能教我几个正则表达式:
1.提取这些字符串任意括号外排在最前的字符串,比如:《1》ABC(DEF,GHI[J])、{KLM(N)}提取这个字符串中的ABC。
2.把上面的原始字符串去除上面提取的ABC以外的字符串,并且将所有括号,中文符号,空格转换成英文下的逗号 比如从上面的字符串中得到:1,DEF,GHI,J,KLM,N这样的值。

不怎么会正则,而且碰到这样复杂的东西找不到更好的方法了,求各位前辈不吝赐教,万分感激。
...全文
177 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuzhenrj09 2012-11-16
  • 打赏
  • 举报
回复
求救啊~~~~~~
foxd 2012-11-16
  • 打赏
  • 举报
回复
帮你顶一下。
csdn_风中雪狼 2012-11-16
  • 打赏
  • 举报
回复
并且将所有括号,中文符号,空格转换成英文下的逗号 比如从上面的字符串中得到:1,DEF,GHI,J,KLM,N这样的值。 ==> 先把除字母之外的符号,都替换成, 最后把 abc 替换成空格
fishfish1901 2012-11-16
  • 打赏
  • 举报
回复
			string inputStr = "《1》ABC(DEF,GHI[J])、{KLM(N)}";
			string firstWord = Regex.Match(inputStr, "[A-z]+").ToString();
			string extractedStr = Regex.Replace(inputStr, @"([^A-z0-9]|\[|\])+", ",");
gwy9008 2012-11-16
  • 打赏
  • 举报
回复
这么多符号,,我都不知道怎么去表示了

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧