Bible Reference Regex (part 1)

Yesterday, I have updated Bible Plugin for WordPress to version 3.2. In the new version, I rewrote code to parse Bible Reference from input content.

New code solved some cases of Bible reference that the old version can’t parse, but there are new cases so I need more time to solve them.

In this post, I only share the regex I used to parse Bible reference:

(?:\s*)((?:\d\s*)?[a-zA-Z]+)(?:\s*)(\d+)(?:[:-]((?:\d+)?(?:(?:\s*)(?:[-,]\s*\d+)+)*)(:\d+|(?:\s*[A-Z]?[a-z]+\s*\d+:\d+))?(?:\s*))*

This regex cannot parse following case as well as I expected:
john 4:5 - 4:6
3 john 4:5 - 3 John 4:6
John 4:5 - 1 John 4:6
2 john 4:5 - 4:6

I think I need second regex to cover those cases.