给定一个模式,我们可以使用S.split(pattern)
将字符串S
分成多个部分。但是,结果不是我想要的。我想要那些匹配模式的字符串,即分隔符。我的想法是使用拆分结果形成一个新的模式,然后再次拆分,但需要考虑各种元符号的大量情况。任何直接的方式?在Java模式匹配中获取分隔符
回答
最好链接到最新版本的JavaDocs。我编辑了您的答案以指向J2SE 7.有关获取最新文档链接的提示,请参见[优点2](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) 。 – 2012-01-30 06:11:49
正如@AndrewThompson在你的问题的评论中指出的那样,正则表达式有一个你可以使用的'not'运算符。 – Dawood 2012-01-30 06:24:46
非运算符将不起作用,因为它会在带有背靠背分隔符的字符串上返回不正确的结果。 (IE在空格分隔的字符串中连续两个空格)。 – 2012-01-30 06:58:59
你不能只是运行多个裂口或你有可能得到不正确的结果。我可能会使用s.split(模式,2)...
public static Vector<String> getDelims(String s, String pattern)
{
String[] items = s.split(pattern, 2);
if(items.length == 1) return new Vector<String>();
String delim = s.substring(items[0].length());
delim = delim.substring(0, delim.length() - items[1].length());
Vector<String> ret = getDelims(items[1], pattern);
ret.add(0, delim);
return ret;
}
- 1. 拆分在多字符行分隔符使用模式匹配
- 2. 使用集提取匹配的模式使用'作为模式分隔符
- 3. Java正则表达式 - 管道分隔字符串上的模式匹配
- 4. Java模式匹配器单个或多个用逗号分隔
- 5. Java模式匹配
- 6. 基于java中模式匹配的字符串分割问题
- 7. 如何在Java中获取时间分隔符符号?
- 8. 正则表达式匹配字符串与两种分隔符类型分隔
- 9. 在Java中匹配文本模式
- 10. 如何从Java的扫描器中获得匹配的分隔符?
- 11. 提取从字符串匹配模式
- 12. 获取行号匹配的模式
- 13. 在Fortran中获取文件分隔符
- 14. 正则表达式 - 在括号内仅匹配分隔符
- 15. WPF中的样式分隔符匹配背景
- 16. 正则表达式下划线分隔模式匹配
- 17. 正则表达式匹配字符串分隔符类似
- 18. 日期格式正则表达式匹配日期分隔符
- 19. 结合正则表达式模式来匹配组分隔字符串内
- 20. 解析复杂匹配的分隔符
- 21. Java模式/匹配器
- 22. 输入模式匹配java
- 23. Java语句模式匹配
- 24. Java - 日期模式匹配
- 25. 的Java模式匹配特定模式来匹配
- 26. 提取字符串匹配条件的模式匹配
- 27. 在列中匹配逗号分隔值
- 28. 在Java中不匹配的字符串模式
- 29. 字符串分割模式匹配和提取值
- 30. HDFS文件中的分隔符与Hive表格的分隔符值不匹配
一个例子可以帮助我们来帮助你 – Jayy 2012-01-30 06:07:37
请向我们提供的例子。 – RanRag 2012-01-30 06:07:56
不是正则表达式有一种'不'运算符吗?例如。在伪代码'S.split(!pattern)' – 2012-01-30 06:10:41