模式搜索

时间:2011-10-31 11:04:13

标签: java pattern-matching

我想在java上实现模式'*'文本匹配。最简单的方法是什么? Pattern.java是最好的解决方案吗?

4 个答案:

答案 0 :(得分:4)

查看正则表达式包java.util.regex。你找到了一个很好的起点here

答案 1 :(得分:1)

如果我理解正确,您希望匹配字符串中两个单引号之间出现的文本。正则表达式为'.*'而不是'*'。代码将如下所示

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.Patternjava.util.regex.Matcher课程的文档。

答案 2 :(得分:0)

你可以使用indexOf()的{​​{1}}方法...... 看看这段代码.... Pattern match

答案 3 :(得分:0)

没有用于Java的内置glob-matcher,但您可以轻松convert a glob to a regex and使用正则表达式库。