2010-08-11 171 views

回答

7

您可以使用向前看。你还没说你正在使用正则表达式的“味道”,所以这里是一个C#示例:

var regex = new Regex(@"[A-Z](?=[a-z])"); 
string str = "ABcDef"; 
regex.Replace(str, "?"); 
Console.WriteLine(str); // outputs "A?c?ef" 

此外,对于国际字符,你可以使用Unicode character classes

var regex = new Regex(@"\p{Lu}(?=\p{Ll})"); 
+0

的\ p应该升owercase,否则它意味着否定。 – Markos 2010-08-11 04:26:18

+0

@Markos:哎呀!接得好! – 2010-08-11 04:27:44

+0

谢谢Dean!这正是我需要的。因为我在这里很困难,所以为我节省了很多时间。 – 2010-08-11 20:25:08

0
[A-Z][a-z] 

(假定只有英文字符)

0

我相信这是你在找什么。

([AZ])[AZ]

0

在Python:

进口重新

正则表达式= re.compile( “(?:([AZ])[AZ])”)

strData是= 'ABCDEFGHIJK'

打印[m.group(1),用于regex.findinter(strData是)米如果m.group(1)]

相关问题