需要您的帮助来获取一个简单的javascript正则表达式吗

需要您的帮助来获取一个简单的javascript正则表达式吗,javascript,regex,Javascript,Regex,我需要用javascript获得一个特定的类。 这个类是引导程序的网格:col-md-8 我需要获得号码,我尝试以下方法: $class = $('div').attr('class'); $number = $class.match(/^col-md-./); 我是正则表达式的初学者,请帮帮我 编辑:$class可能有更多类,如:“col col-md-8 col-offset-md-8”\d+作为模式 'col-md-8'.match(/\d+/) // => ["8"] 'col-

我需要用javascript获得一个特定的类。 这个类是引导程序的网格:col-md-8

我需要获得号码,我尝试以下方法:

$class = $('div').attr('class');
$number = $class.match(/^col-md-./);
我是正则表达式的初学者,请帮帮我


编辑:$class可能有更多类,如:“col col-md-8 col-offset-md-8”

\d+
作为模式

'col-md-8'.match(/\d+/)
// => ["8"]
'col-md-8'.match(/\d+/)[0]
// => "8"
  • \d
    匹配一个数字字符
  • +
    是重复修饰符:使上一个模式匹配多次(1次或多次)

更新对评论的回应:

使用捕获组:

'other-class-1 col-md-8'.match(/col-md-(\d+)/)[1]
// => "8"

简单使用:$class.substr(7)

您可以将falsetru的答案与您的答案混合使用,以忽略其他学员和数字:

cls = 'col-md-8'col-md-8
match = cls.match(/col-md-(\d+)/)
// => ['col-md-8', '8']
括号捕获整个模式的子字符串并将其存储在匹配数组中。匹配数组的第一个元素是完全匹配的模式,其余元素是单个捕获

match[1]
// => "8"
要将字符串转换为整数,可以使用一元加号运算符:

+match[1]
// => 8

下面的正则表达式将根据您的需要工作

    /class="(.)*col-md-\d*"/g

以下是[示例]:

当只有一个类时,它可以工作,但我忘了提到我可以有更多。我需要在字符串“col md”中传递一个变量,但现在无法工作。我讨厌正则表达式:/@dmassiani,试试
var prefix='colmd';'other-class-1 col-md-8'.匹配(新的RegExp(前缀+'-(\\d+))[1]“8”