javascript - 使用正则表达式拆分字符串以使其成为没有空元素的数组

标签 javascript regex

在这里,我有示例 javascipt 字符串:

example_string = "Answer 1| Answer 2| Answer 3|";

我正在尝试使用正则表达式获取这样的数组:

Array ["Answer 1", " Answer 2", " Answer 3"]

我试过:

result = example_string.split('/[|]+/g');

还有以下模式

'/[|]+/g'
'/[|]+\b/g'
'/[|]+[^$]/g'

我仍然得到一个末尾有空元素的数组:

 Array ["Answer 1", " Answer 2", " Answer 3", ""]

这给我带来了很多麻烦。有谁知道我的模式在哪里出错或如何解决?

最佳答案

我总是喜欢匹配所有我一直讨厌拆分的东西但是:

拆分正则表达式:(\|(?!$)) DEMO

匹配而不是拆分:

正则表达式:(?:([\w\s]+)\|?)

您甚至可以使用 [^\|]+ 来匹配您必须匹配的任何内容 BUT |

DEMO

关于javascript - 使用正则表达式拆分字符串以使其成为没有空元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268770/

相关文章:

javascript - 如果选中先前的复选框,则需要验证插件

javascript - 在 JavaScript 中动态创建新对象的更好方法?

javascript - 为什么是 myPlants[1]? JSON

javascript - 正则表达式 - 获取特定字符前后的字母

javascript - 可以以 0 开头的数字的正则表达式

javascript - 如何使用 ng-messages 在 Angularjs 中显示服务器错误

javascript - 是否有必要使用正则表达式在 String.replace() 调用中转义替换字符串?

regex - 捕获可选斜杠后的值

regex - 可选的正则表达式匹配?

PHP正则表达式