我想分割以下字符串:
1111AA|10 km|list
带正则表达式。我试过这个,但它不会给我正确的结果:
(([a-zA-Z0-9]+)|([0-9a-z ]+)|([a-zA-Z]))
这只返回第一部分:1111AA
我的结果应该是管道上的分割。
答案 0 :(得分:0)
您可以使用JavaScript语言执行此操作"1111AA|10 km|list".split('|')
。
答案 1 :(得分:0)
|
在正则表达式中具有特殊含义。例如,PatternA|PatternB
匹配PatternA
或PatternB
。
退出|
以便按字面意思匹配。
以下是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上测试正则表达式模式。该网站将为您提供有关您的模式的反馈。请记住,大多数特殊字符都需要通过在它们前面放置反斜杠来进行转义。