正则表达式用于资本化反向引用

时间:2016-08-07 21:20:33

标签: regex

我正在尝试创建突出显示任意两个连续字母组的正则表达式,后者是前者的大写版本(小写)。

例如,在字符串

self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView];

我想要dD,aA和fF来匹配我给定的正则表达式。换句话说,带有高光的字符串是

ASS的的dD 取值的 AA d的 FF

我想我需要使用反向引用,但我不知道如何。

有人可以帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:3)

这是(?-i:([a-z])(?=[A-Z]))(?i:\1)的一种方式 它使用完全本地化的案例修饰符,不影响任何事物 其他

解释

 (?-i:                         # Cluster group with 'case sensitive' scoped modifier
      ( [a-z] )                     # (1), Lower-case
      (?= [A-Z] )                   # Lookahead, Upper-case
 )                             # End cluster
 (?i:                          # Cluster group with 'case insensitive' scoped modifier
      \1                            # Backreference to group 1
                                    # ( previous assertion guarantees this
                                    #   can only be the Upper-Cased version of group 1) 
 )                             # End cluster