我从这个问题regex to match everything until it finds 2 upper case characters?
中找到了以下代码^.*(?=\b(?:[^\sA-Z]*[A-Z]){2})
然而我的问题与OP
略有不同我希望在以下字符串中将所有内容与大写字母匹配, 规则应匹配所有内容,直到负面外观找到2个大写字符,然后匹配中间的所有内容,从第一个大写到第二个大写字符的开头
所以我想(从示例中继续)
Http is an HttpHeader
是获取Http is an Http
代替Http is an
OP在发布的帖子中获取
答案 0 :(得分:0)
似乎过于复杂。给我
preg_match( '/[^A-Z]+/', $str, $res );
答案 1 :(得分:0)
preg_match('/[^A-Z]*([A-Z]{1}[^A-Z]*[A-Z]{1}[^A-Z]*)/', $str, $res);
答案 2 :(得分:0)
使用此模式^.*?(?=\b(?:[^\sA-Z]*[A-Z]){2}).+?(?=[A-Z])
Demo
答案 3 :(得分:0)
([A-Z].*?\w+(?=[A-Z]))
您可以按照上述正则表达式进行操作。那是如此简单而又快速。请在此处查看匹配的群组:Live demo