Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用正则表达式分析字符串到字符串数组_Javascript_Arrays_Regex_String - Fatal编程技术网

Javascript 使用正则表达式分析字符串到字符串数组

Javascript 使用正则表达式分析字符串到字符串数组,javascript,arrays,regex,string,Javascript,Arrays,Regex,String,我有这样的字符串:与\n\n组合的任何字符(除\n外)都可以位于字符串中的任何位置,并重复0次或更多次 var input = "\nabc\n\n"; 预期产出为: var output = ['\n', 'abc', '\n', '\n'] 我可以使用input.split('\n')将字符串生成数组,但在这种情况下,我将丢失\n,实际上我需要\n和任何其他字符。您可以使用 console.log(input.match(/\n|\w+/g)); // ["↵", "abc", "↵",

我有这样的字符串:与\n\n组合的任何字符(除\n外)都可以位于字符串中的任何位置,并重复0次或更多次

var input = "\nabc\n\n";
预期产出为:

var output = ['\n', 'abc', '\n', '\n']
我可以使用input.split('\n')将字符串生成数组,但在这种情况下,我将丢失\n,实际上我需要\n和任何其他字符。

您可以使用

console.log(input.match(/\n|\w+/g)); // ["↵", "abc", "↵", "↵"]

您可以尝试使用
(?=\n)
?由于这不会实际捕获
\n
字符

,因此我认为这更合适

> var s = "\nabc\n\n";
> s.match(/\n|[^\n]+/g)
[ '\n',
  'abc',
  '\n',
  '\n' ]
试试这个。抓取捕获。参见演示


您可以使用多行定位进行拆分

input.split(/^|$/gm)
您将获得:

["
", "abc", "
", "
"]

你在说哪种语言?谢谢!但是\w不匹配特殊字符,例如*();+?/,.|\%$#@~谢谢,Amit,\w不匹配特殊字符,例如*()&^%$#@!~但我需要这些角色
["
", "abc", "
", "
"]