📜  正则表达式g来识别句子中的圣经引用 - Javascript(1)

📅  最后修改于: 2023-12-03 15:10:57.908000             🧑  作者: Mango

用正则表达式g识别句子中的圣经引用 - JavaScript

当我们从网页或其他文本源中获取文本时,常常需要从文本中识别出一些特定的部分。在本文中,我们将介绍如何使用正则表达式g来识别句子中的圣经引用。

圣经引用的格式

圣经引用通常由书名、章和节组成,例如:

  • 约翰福音 3:16
  • 马太福音 5:5

书名通常是圣经中的缩写,章和节之间由冒号分隔。

创建正则表达式

我们可以使用正则表达式g来匹配圣经引用,正则表达式如下:

/(?:(?:诗篇|箴言|传道书|雅歌|以赛亚书|耶利米书|耶利米哀歌|以西结书|但以理书|何西阿书|约珥书|阿摩司书|俄巴底亚书|约拿书|弥迦书|那鸿书|哈巴谷书|西番雅书|哈该书|撒迦利亚书|玛拉基书|马太福音|马可福音|路加福音|约翰福音|使徒行传|罗马书|哥林多前书|哥林多后书|加拉太书|以弗所书|腓立比书|歌罗西书|帖撒罗尼迦前书|帖撒罗尼迦后书|提摩太前书|提摩太后书|提多书|腓利门书|希伯来书|雅各书|彼得前书|彼得后书|约翰一书|约翰二书|约翰三书|犹大书|启示录) [0-9]+:[0-9]+)/g

上述正则表达式包含两个部分。第一个部分 (?:(?:诗篇|箴言|传道书|...|启示录)) 表示书名,其中的 | 符号表示或者的意思。第二个部分 [0-9]+:[0-9]+ 表示章和节,其中 [0-9]+ 表示一个或多个数字。

正则表达式以 / 开始和结束,并使用 g 标志表示全局匹配。

使用正则表达式匹配文本

要在 JavaScript 中匹配圣经引用,我们可以使用 String 类型的 match() 方法。该方法返回匹配正则表达式的数组,如果没有匹配项,则返回 null。

const text = '圣经中的约翰福音3:16非常著名。' +
             '又如,马太福音 5:5 中的“温柔的人是有福的”。';

const regex = /(?:(?:诗篇|箴言|传道书|雅歌|以赛亚书|耶利米书|耶利米哀歌|以西结书|但以理书|何西阿书|约珥书|阿摩司书|俄巴底亚书|约拿书|弥迦书|那鸿书|哈巴谷书|西番雅书|哈该书|撒迦利亚书|玛拉基书|马太福音|马可福音|路加福音|约翰福音|使徒行传|罗马书|哥林多前书|哥林多后书|加拉太书|以弗所书|腓立比书|歌罗西书|帖撒罗尼迦前书|帖撒罗尼迦后书|提摩太前书|提摩太后书|提多书|腓利门书|希伯来书|雅各书|彼得前书|彼得后书|约翰一书|约翰二书|约翰三书|犹大书|启示录) [0-9]+:[0-9]+/g;

const matches = text.match(regex);

console.log(matches);
// 输出: ['约翰福音3:16', '马太福音 5:5']
总结

正则表达式g是 JavaScript 中非常有用的一个特性,它可以用于从文本中识别出特定的部分。在本文中,我们介绍了如何使用正则表达式g来识别句子中的圣经引用。我们首先创建了一个匹配圣经引用的正则表达式,然后使用 String 类型的 match() 方法来匹配文本。