我需要使用正则表达式从String中获取一些值。事实是,这对我来说很复杂。
例如我有一个像这样的字符串:
oneWord [first, second, third]
我的输出应为:
first
second
third
所以我需要[和]之间的单词。另外,[]之间可以有不同数量的单词。
使用某些正则表达式创建器进行了尝试,但这不是很准确:
String re1=".*?"; // Non-greedy match on filler
String re2="(?:[a-z][a-z]+)"; // Uninteresting: word
String re3=".*?"; // Non-greedy match on filler
String re4="((?:[a-z][a-z]+))"; // Word 1
String re5=".*?"; // Non-greedy match on filler
String re6="((?:[a-z][a-z]+))"; // Word 2
String re7=".*?"; // Non-greedy match on filler
String re8="((?:[a-z][a-z]+))"; // Word 3
我会这样做,只需一行:
String[] words = str.replaceAll(".*\\[|\\].*", "").split(", ");
第一个replaceAll()
调用剥离split()
开头和结尾的包装,然后将剩下的内容分解为单独的单词。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句