Career
McGregor has had two spells with Cowdenbeath during his career. In his first spell he made his professional debut before being released and then plying his trade in junior football with Arniston Rangers in Midlothian. McGregor returned to the Blue Brazil in 2008 and then moved on to play with Street Mirren for four years, where he suffered two serious knee injuries.
Cowdenbeath
He was released at the end of that season and spent two years in junior football, before returning to Cowdenbeath at the start of the 2008-2009 season.
McGregor played an important role over the next two seasons as the team were promoted to the Scottish First Division. Street Mirren
On 15 June 2010, McGregor followed ex-Cowdenbeath manager Danny Lennon to Street Mirren, joining the side on a two-year contract.
He made his SPL debut on 14 August 2010 in a 1–1 draw with Dundee United and scored his first goal for the club in a Scottish League Cup game against Ross County on 25 August 2010. He scored his first league goal for the club in a 1–1 draw at Street Mirren Park against Dundee United on 26 January 2011, netting a header from a well placed corner kick by Steven Thomson.
He then scored his second league goal for the club in a 3–3 draw against Inverness Caledonian Thistle on 12 February 2011, with a header from a Jure Travner corner.
During a match against Dundee United in the SPL on 6 August 2011, McGregor suffered cruciate ligament damage that prevented him from playing for most of the 2011-2012 season. On 24 February 2012 it was announced that McGregor had signed a two-year contract extension, tying him to the club until the summer of 2014. McGregor returned to the Street Mirren first team, but then suffered another cruciate ligament injury in a match against Hibernian on 18 August 2012.
The injury sidelined McGregor for the rest of the 2012-2013 Scottish Premier League season, and meant that he had only played 12 competitive matches for the club in a two-season period.
During pre-season of season 2013-2014, McGregor returned to action after recovering from his second cruciate ligament injury, and admitted that he feared he may never play football again. McGregor had an injury free season and registered 35 league appearances for the club
Rangers
McGregor signed a one-year deal on 11 June 2014 with Rangers with an option for a second year. He made his debut for Rangers when he came on as a 92nd-minute substitute for Richard Foster in the opening game of the Scottish Championship season against Hearts.
On 24 August 2015, it was announced that McGregor and Rangers had terminated his contract by mutual consent.
Hibernian
On 25 August 2015, McGregor joined Scottish Championship club Hibernian on a two-year deal. Player
Hibernian
Scottish League Cup runners-up: 2015-2016.