2014-10-23 4 views
0

У меня есть регулярное выражение, определенное как [a-zA-Z_0-9] {1,29} в строке, и я хочу извлечь из него только [a-zA-Z_0-9] и я использую приведенный ниже код, чтобы сделать это. Но console.log возвращает мне ["[a-zA-Z_", "-9] {1,29}"] в качестве вывода. Где я иду не так?Разделить строку регулярного выражения

app.controller('MainCtrl', function($scope) { 
    $scope.val = ""; 
    $scope.regEx = "[a-zA-Z_0-9]{1,29}"; 
    $scope.pattern = $scope.regEx.split(0,12); 
    console.log($scope.pattern) //it should return [a-zA-Z_0-9] 
}); 

Plnkr: http://plnkr.co/edit/PFLZXs6er2lG3ieG4mi8?p=preview

+1

'split' разбивает строку на массив строк, основанный на ввод символа или строки. Например, 'string.split ('{');' Что вы ищете, это 'substr' – nightgaunt

ответ

0

'стандартной' способ использования раскола является то,

$scope.val = "abc;def;ghi"; 
$scope.regEx = /\s*;\s*/; 
$scope.list = $scope.val.split($scope.regEx); 
console.info($scope.list); 

с результатом:

["abc", "def", "ghi"] 

Как сказал, вы, вероятно, ищете подстроку() ...

0

Что вы ищете substr

$scope.pattern = $scope.regEx.substr(0,12);

0

Попробуйте это:

$scope.pattern = $scope.regEx.substr(0,12); 
Смежные вопросы