将字符串转换为大写字母,它们不属于任何特殊字符

时间:2016-07-29 15:42:44

标签: .net regex

需要正则表达式来识别包含在任何特殊字符中的字符串部分,并将其余部分转换为大写字母。例如,

He did soME "experimenting (chemistry, biology)" in (hIS) ScHool Days.

输出:

HE DID SOME "experimenting (chemistry, biology)" IN (hIS) SCHOOL DAYS.

在上面的示例中,任何特殊字符中包含的单词保持不变,但未转换为大写字母。

首选语言是VB。

1 个答案:

答案 0 :(得分:0)

您可以使用

([^("]*)((?:(")|(\())(?:(?!(?(3)"|\))).)*.)?

第1组的内容需要大写,第2组的内容应保持原样。

请注意,此模式适用于"a(b)c"等嵌套组,但不适用于"a(b"c)等重叠组。