我想在java上实现模式'*'文本匹配。什么是最简单的方法来做到这一点? Pattern.java是最好的解决方案吗?模式搜索
模式搜索
回答
看看正则表达式包java.util.regex
。你找到一个好的起点here。
没有一个内置的glob-匹配的Java,但是你可以很容易地使用convert a glob to a regex and一个正则表达式库。
Java 7确实有一个内置的glob匹配器。请参阅[FileSystem.getPathMatcher](http://download.oracle.com/javase/7/docs/api/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)) –
整洁;尽管它具有路径边界和事物的特殊含义 – Will
如果我理解正确,您希望匹配字符串中两个单引号之间出现的文本。正则表达式是'.*'
而不是'*'
。代码,这将是这样的
String input = "abcd'efg'hij";
Matcher matcher = Pattern.compile("'.*'").matcher(input); //initializes a matcher
System.out.println("Found ? " + matcher.find() +
"\nFound what ? "+ matcher.group()); //prints 'efg'
如果你想从字面上匹配'*'
然后使用正则表达式'\\*'
(逃避*
有\
)
退房文档上java.util.regex.Pattern
和java.util.regex.Matcher
类。
- 1. 模式搜索()
- 2. NSString模式搜索
- 3. 模式搜索Grep
- 4. Directory.GetFiles搜索模式
- 5. preg_match_all模式搜索
- 6. C#模式搜索
- 7. C#模式搜索
- 8. 如何在CLiPS模式中连接搜索模式。搜索
- 9. Vim搜索模式替换搜索模式
- 10. 如何在Android搜索栏模式中实现搜索模式?
- 11. sed搜索替换模式
- 12. 多模式搜索轨
- 13. 搜索模式在文件
- 14. 搜索号码模式
- 15. 而不是搜索模式
- 16. 2D圆形搜索模式
- 17. perl中的模式搜索
- 18. Resharper:'contains'模式搜索
- 19. tmux搜索高亮模式
- 20. 搜索的多模式
- 21. 搜索图像模式
- 22. 搜索设计模式
- 23. 蛮力模式搜索java
- 24. Vim多行搜索模式
- 25. 使用pcregrep搜索模式
- 26. 模式搜索算法
- 27. 具体搜索模式RegExp
- 28. 的GetFiles() - 搜索模式
- 29. 二维模式搜索
- 30. php preg_match搜索模式
请向我们展示一些示例,说明您正在寻找的内容*。 – NPE
匹配什么?字符串?文件名?语法是什么?正则表达式? glob的? – Will
我想要匹配字符串 – Martin