我必须将一个字符串拆分成包含单词或特殊字符的片段.
假设我有字符串'这是'另一个问题......"'.我想得到的是一个由这些部分组成的数组:('This','is',''','another','problem','...','"').
我在JavaScript中用以下RegExp完成了这个工作正常:
string.match(/([^-\s\w])\1*|[-\w]+/g); // works
Run Code Online (Sandbox Code Playgroud)
在Perl中使用相同的方法不起作用,因为我用来组合连续字符的子模式,我也得到这些匹配:
@matches = $string =~ m/(([^-\s\w])\2*|[-\w]+)/g; # does not work
Run Code Online (Sandbox Code Playgroud)
有没有办法在结果或正则表达式本身中删除子模式/子匹配?