匹配两个字符串之间的字符

时间:2016-08-18 14:55:32

标签: javascript regex

我想在两个字符串之间选择字符,但它似乎不起作用......

我的输入数据:

// button

/* --------------- Paramétrage du composant --------------- */
// Thème du composant
$btn-theme: material;
// Couleur de fond des boutons
$btn-bg: #fff;
// Couleur de fond des boutons lors de l'hover
$btn-bg-hover: $main-color;
// Border radius des boutons
$btn-border-radius: 4px;
// Hauteur des boutons
$btn-height: 30px;
// Largeur des boutons
$btn-width: 30px;
// Hauteur des icônes SVG dans les boutons
$btn-svg-width: 66%;
// Paddin des boutons
$btn-padding: 0;
/* --------------- /Paramétrage du composant --------------- */

我的正则表达式:/\$(.+):/g

我希望:['btn-theme', 'btn-bg', 'btn-bg-hover', ...作为结果。但是,我的结果总是包含美元符号和冒号。例如:$btn-padding:

2 个答案:

答案 0 :(得分:0)

根据您的评论,您需要此正则表达式(([-|A-z])*):

您希望匹配不带$:的标记(根据评论)。

如果这是你想要的,你可以验证here

答案 1 :(得分:0)

试试这个

var origin = "// button \
/* --------------- Paramétrage du composant --------------- */\
// Thème du composant \
$btn-theme: material; \
// Couleur de fond des boutons \
$btn-bg: #fff; \
// Couleur de fond des boutons lors de l'hover \
$btn-bg-hover: $main-color; \
// Border radius des boutons \
$btn-border-radius: 4px; \
// Hauteur des boutons \
$btn-height: 30px; \
// Largeur des boutons \
$btn-width: 30px; \
// Hauteur des icônes SVG dans les boutons \
$btn-svg-width: 66%; \
// Paddin des boutons \
$btn-padding: 0; \
/* --------------- /Paramétrage du composant --------------- */";

var matches = origin.match(/\$([^:,^;]*):/g);


matches.forEach(function(element, index, array) {
	console.log(element.substring(1, element.length -1));
});