查找以指定搜索词开头的任何字符串,后跟另一个大写字

时间:2015-11-16 21:10:39

标签: regex ide webstorm

我们有一些错误的代码已写入对象属性名称中有冗余单词的地方,我们正在尝试使用搜索和替换在整个应用程序中找到这些罪魁祸首。

举个例子,想象一个人物对象,其属性也包含单词person,即

var person = new Person();
person.personName = 'Mark';
person.personAge = 20;

在这种情况下,我们知道单词person,但不知道整个应用程序中在该对象上设置的所有属性。

使用Regex,我们是否能找到匹配person *的任何东西,其中通配符总是大写字母,即camelCase?我们希望仅使用personName替换name

我考虑过搜索.person,但它给了我很多不必要的结果。

1 个答案:

答案 0 :(得分:3)

当我搜索项目时,这个正则表达式对我很有用(不确定你正在使用哪个IDE):

import urllib2 for x in range(1, 20000): url = "http://etutorium.ru//webinaryService//users/seminar@aktivcorp.com/archive/" + str(x) + "/seminar@aktivcorp.com" + str(x) + ".flv" file_name = None u = None f = None meta = None file_size = None file_size_dl = None block_sz = None status = None file_name = url.split('/')[-1] u = urllib2.urlopen(url) f = open(file_name, 'wb') meta = u.info() file_size = int(meta.getheaders("Content-Length")[0]) print "Downloading: %s Bytes: %s" % (file_name, file_size) file_size_dl = 0 block_sz = 8192 while True: buffer = u.read(block_sz) if not buffer: break file_size_dl += len(buffer) f.write(buffer) status = r"%10d [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size) status = status + chr(8)*(len(status)+1) print status, f.close()

说明:

\.person[A-Z]是匹配句点(你必须在正则表达式中将其转义,否则它意味着匹配任何单个字符)

\.只匹配人

person匹配任何大写字母