我有一个分隔符“:”,需要从下面提取word1 word2 word3和word4:
word1:word2:word3:word4
什么是RegEx来提取word1,word2,word3和word4。
答案 0 :(得分:3)
下面的正则表达式匹配以冒号分隔的任意数量的单词:
/([^:]+)/g
或匹配自定义字数
/([^:]{min_number,max_number})/g
javascript中的简单方法:
"word:word:word".match( /([^:]+)/g )
你会得到阵列:
["word","word","word" ]
答案 1 :(得分:2)
根据您使用的语言,您最有可能使用分割功能。
e.g。在C#你会做。
var words = "word1:word2:word3:word4".split(":");
//word[0] = "word1"
//word[1] = "word2"
//ect...
答案 2 :(得分:1)
在Regex下方将匹配以冒号分隔的4个非冒号词:
/([^:]+):([^:]+):([^:]+):([^:]+)/
答案 3 :(得分:0)
在这种情况下,正则表达式解决方案是有意义的。
[^:]*(?=:)|(?<=:)[^:]*
这可以满足要求。提取单词。用grep测试:
kent$ echo "word1:word2:word3:word4"|grep -Po '[^:]*(?=:)|(?<=:)[^:]*'
word1
word2
word3
word4