我正在努力建立一个正则表达式来解析这种字符串(圣经经文):
'John 14:16–17, 25–26'
'John 14:16–17'
'John 14:16'
'John 14'
'John'
因此,基本模式是:
Book [[Chapter][:Verse]]
其中章节和经文是可选的。
最佳答案
在这里试试
\b[a-zA-Z]+(?:\s+\d+)?(?::\d+(?:–\d+)?(?:,\s*\d+(?:–\d+)?)*)?
查看并测试here on Regexr
由于结尾处是
(?:,\s*\d+(?:–\d+)?)*
,因此您可以具有经文列表,末尾经文范围。关于PHP preg_match圣经经文格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9974012/