使用正则表达式拆分字符串值

Posted

技术标签:

【中文标题】使用正则表达式拆分字符串值【英文标题】:Splitting String Value Using Regex 【发布时间】:2014-08-21 01:38:44 【问题描述】:

我有一个如下的输入字符串值,并想拆分非数字文字,如空格、字符、换行符、逗号、句点、斜杠、反斜杠等。

例如我的输入值是:

var list = 
'123
456 789
1234..5678//999
123aaa456'

我希望输出值为:123、456、789、1234、5678、999、123、456

我尝试使用下面的正则表达式对其进行拆分,但它一直停在第二个数字上...

var split= list.split(/[\s\t.,;:]+/);

谁能帮帮我?提前致谢。

【问题讨论】:

/\D+/ === 非数字 【参考方案1】:

使用\D 匹配任何非数字字符,或使用\D+ 匹配一个或多个此类字符:

var split = list.split(/\D+/);

你说:

我尝试使用下面的正则表达式对其进行拆分,但它一直停在第二个数字上...

var split= list.split(/[\s\t.,;:]+/);

我看不出它怎么会停在第二个数字上:该正则表达式会产生输出 ["123", "456", "789", "1234", "5678//999", "123aaa456"],因为您的模式不包括正斜杠或字母。

【讨论】:

谢谢你这工作。由于某种原因,我正在处理的页面上没有正确加载 javascript,因此返回了错误的结果..

以上是关于使用正则表达式拆分字符串值的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式拆分字符串,提取之前的字符串值和方括号之间的数值

如何使用正则表达式拆分字符串而不消耗拆分器部分?

通过正则表达式拆分字符串[重复]

使用正则表达式将字符串拆分为句子

Java如何拆分正则表达式和字符串?

Javascript 不会使用正则表达式拆分