需求:
例如有字符串如下:
ON(This is ON),OFF(This is OFF),OTHER(This is OTHER)
需要将所有括号及括号内的注释全部去掉,得到如下结果:
ON,OFF,OTHER
结果中的逗号仍然保留,请问正则如何写?谢谢!

解决方案 »

  1.   

    使用Regex.Replace,正则表达式为
    \(This is (ON|OFF|OTHER)\)
    替换为空字符串即可。
      

  2.   

    \w+(?=\(.+\),?)测试结果:
        匹配个数:3
      Match0 内容:ON  位置:0
        Group0 内容:ON  位置:0
         Capture0 内容:ON  位置:0
      Match1 内容:OFF  位置:15
        Group0 内容:OFF  位置:15
         Capture0 内容:OFF  位置:15
      Match2 内容:OTHER  位置:32
        Group0 内容:OTHER  位置:32
         Capture0 内容:OTHER  位置:32说明:
       1 \w+ 匹配1个以上连续字母,你可以在后加\b(单词边界).
       2 (?=\(.+\),*) ?= 应该出现在\w+后面的模式。(此部分不会记入匹配内容)
       3 \( .+ \) ,* 后模式由1个,+个任意字符(如果没有其它符号,你可以限定为[\w\s]+),1个, 0到1n个组成