正则表达式分裂在管道上

时间:2014-01-22 10:43:23

标签: regex

我想分割以下字符串:

1111AA|10 km|list

带正则表达式。我试过这个,但它不会给我正确的结果:

(([a-zA-Z0-9]+)|([0-9a-z ]+)|([a-zA-Z]))

这只返回第一部分:1111AA

我的结果应该是管道上的分割。

3 个答案:

答案 0 :(得分:0)

您可以使用JavaScript语言执行此操作"1111AA|10 km|list".split('|')

答案 1 :(得分:0)

|在正则表达式中具有特殊含义。例如,PatternA|PatternB匹配PatternAPatternB

退出|以便按字面意思匹配。

以下是Javascript示例:

'1111AA|10 km|list'.match(/(([a-zA-Z0-9]+)\|([0-9a-z ]+)\|([a-zA-Z]))/)
// => ["1111AA|10 km|l", "1111AA|10 km|l", "1111AA", "10 km", "l"]

答案 2 :(得分:0)

要使用正则表达式获取每个组,只需转义管道:

/(([a-zA-Z0-9]+)\|([0-9a-z ]+)\|([a-zA-Z]))/

如果您不确定表达式,可以在http://regex101.com上测试正则表达式模式。该网站将为您提供有关您的模式的反馈。请记住,大多数特殊字符都需要通过在它们前面放置反斜杠来进行转义。