在javascript中使用REGEX拆分刺痛
Split stings using REGEX in javascript
>我正在尝试将字符串解析为 5 个部分。例如:
var str1 = '#<SYSTEM list-of / asdf-finalizers-20140826-git / quicklisp 2014-08-26>'
// filter is used to remove empty strings from the returned array
str1.split(/[ #<>/]/).filter(function(n) { return n !== ''; });
// str1[0] -> SYSTEM
// str1[1] -> list-of
// str1[2] -> asdf-finalizers-20140826-git
// str2[3] -> quicklisp
// str2[3] -> 2014-08-26
但问题是,我无法解析单词中间包含斜杠的字符串例如,
#<SYSTEM asdf-finalizers-test/1 / asdf-finalizers-20140826-git / quicklisp 2014-08-26>
解析单词的正确正则表达式是什么 asdf-finalizers-test/1
?我尝试了这些,但失败了。
/[('s'/'s) #<>]/
、/[(?:'s'/'s) #<>]/
、/[ #<>]|('s'/'s)/
以下内容似乎有效:
/ '/ |[ #<>]/
'#<SYSTEM asdf-finalizers-test/1 / asdf-finalizers-20140826-git / quicklisp 2014-08-26>'.split(/ '/ |[ #<>]/).filter(Boolean)
> [ 'SYSTEM',
'asdf-finalizers-test/1',
'asdf-finalizers-20140826-git',
'quicklisp',
'2014-08-26' ]
您可以使用负前瞻,以便在后跟单词字符时不根据/
进行拆分。
> var s = "#<SYSTEM asdf-finalizers-test/1 / asdf-finalizers-20140826-git / quicklisp 2014-08-26>"
> s.split(/[ #<>]|'/(?!'w)/).filter(function(n) { return n !== ''; });
[ 'SYSTEM',
'asdf-finalizers-test/1',
'asdf-finalizers-20140826-git',
'quicklisp',
'2014-08-26' ]
相关文章:
- Javascript和RegEx:拆分并保留分隔符
- 使用Regex拆分字符串,保留分隔符
- Regex拆分-工作一次
- 使用jquery或regex,带点但不带点的拆分字符串位于单引号中
- Regex将字符串拆分为大小适中的块
- regex在JavaScript中拆分一个html字符串
- Regex-我需要在第一个数字后面拆分一个字符串
- Regex在javascript中拆分保留引号的字符串
- javascript使用regex拆分字符串
- JavaScript使用Regex按大写字母拆分字符串,除非在一起
- Javascript Regex多个字符拆分
- 将字符串拆分为单词的Regex
- regex或jquery在特定字符后拆分字符串
- 在regex拆分过程中会出现javascript未定义元素
- 使用RegEx在javascript中拆分字符串
- Javascript Regex-如何基于正则表达式将字符串拆分为数组
- 通过javascript中记住的Regex拆分字符串
- 使用Regex将日期/时间字符串拆分为令牌
- 在javascript中使用REGEX拆分刺痛
- Javascript Regex进行了拆分,但保留了部分分隔符