正则expression式的string与数字使用node.js

我正在使用正则expression式replacestring。

我如何find下面的十进制数字的string。

Section 5.1.1 Sections 5.1.2 Sections 5.1.3 and 5.1.4 Sec. 5.3.1 

任何人都可以帮助我吗?

提前致谢。

更新:

  (Sec(?:s\.|s|tions|tion|.)?)( |\s)?((\w+)?([.-]|(–)|(—))?(\w+))(\s+)?((\w+)?([.-]|(–)|(—))?(\w+))(\s+(to|and|through)\s(\w+)([.-]|(–)|(—))(\w+))? 

怎么样

 /(^|\s)(Sec\.|Sections?) +[0-9]+(\.[0-9]+)*( +and +[0-9]+(\.[0-9]+)*)*(?=$|\s)/ 

它将匹配子string

  • 以空格开始或在searchstring的开头
  • 之后是空白或者在searchstring的末尾
  • 从第二部分开始Sec.SectionSections
  • 接着是一个或多个空格
  • 后面跟着一个号码
  • 可选地跟随有一个或多个and [section number] ,其中and被一个或多个空间包围。

部分号码匹配,如果他们

  • 从一个或多个数字开始
  • 可选地跟随一个或多个点并再次一个或多个数字。

您可以trim比赛以消除比赛开始时的最终空白。

更新

 /(^|[^\w])(Sec\.|Sections?) +[0-9]+(\.[0-9]+)*( +and +[0-9]+(\.[0-9]+)*)*(?=$|[^\w])/ 

这个匹配子string

  • 从非单词字符开始,或者在searchstring的开头
  • 之后是一个非单词字符或者在searchstring的末尾

像上面一样rest。 match.replace(/^[^\w]+/, '')在匹配上使用额外的replace来消除非单词字符匹配