игнорирование пробела / новой строки в регулярном выражении в AS3

#regex #actionscript-3

#регулярное выражение #actionscript-3

Вопрос:

Я пытаюсь написать регулярное выражение, которое будет принимать эту фразу

 [[32, 120], x1y1, [object pieceP1], null]
  

и в конечном счете мне нужно, чтобы это разбило все на части, чтобы конечный результат получился следующим образом

 32
120
x1y1
[object pieceP1]
null
  

теперь я использую эту фразу, которая отчасти близка к тому, что я хочу

 var re3:RegExp = / , |  [ |  ] /s;
  

однако мой конечный результат с этим

 32
 120

 x1y1

object pieceP1

 null
  

Как вы можете видеть, я получаю тонну пустых строк и пробелов… как я могу изменить свое выражение, чтобы эти пустые строки и пробелы были удалены? Я читал, что наличие x в конце выражения будет работать, но это ничего не дало.

Ответ №1:

Вы можете отфильтровать свои результаты после разделения. Я немного изменил ваше регулярное выражение

 var str:String = "[[32, 120], x1y1, [object pieceP1], null]";
var bits:Array = str.split(/[[],] s?/).filter( function( x ) { return !!x });

// ["32", "120", "x1y1", "object pieceP1", "null"]
  

Комментарии:

1. фантастика, это очень полезно! Если бы я мог поддержать вас, я бы проголосовал, ха-ха, но, думаю, сейчас я не могу.