如何使用pattern:
将(使用正则表达式的JavaScript)解析为数组字符串予。 {text1} II。 {text2} III。 {text} IV。 {text2} ...
(众所周知,来自I-VII的罗马订单编号)
答案 0 :(得分:3)
可能这个:
var result_set = your_string.match(/[IVXLDMC]+\. {.*?}/g)
示例:
your_string = "I. {text1} II. {text2} III. {text} IV. {text2}";
your_string.match(/[IVXLDMC]+\. {.*?}/g)
["I. {text1}", "II. {text2}", "III. {text}", "IV. {text2}"]
答案 1 :(得分:2)
var text = "I. {text1} II. {text2} III. {text} IV. {text2} ...";
text.split(/ ?[IV]+\. /)
输出:
["", "{text1}", "{text2}", "{text}", "{text2} ..."]
它快速而且肮脏,你可以shift关闭第一个空元素。
答案 2 :(得分:1)
来自that site:
M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})
应该检测到你的任何罗马数字
使用它来获取带有罗马数字的索引,然后使用substr或substring方法来获取文本。或者使用拆分:
text.split(/ M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})\./) // split with <space>RomanNumber<point> separator