使用正则表达式搜索字符

时间:2016-01-07 10:13:29

标签: java regex

如何搜索可以包含“< =”,“> =”或“=”的字符串?

我已达到这一点:

[<>][=] 

所以它搜索前两个

[&lt;&gt;]中是否有任何字符搜索“没有”,所以我会得到后面的[=]?

2 个答案:

答案 0 :(得分:1)

要使某些模式可选,一次或零次出现,请使用?量词:

[<>]?=

在Java中,您可以将其与matches()一起使用来检查字符串是否包含<=>==

if (s.matches("(?s).*[<>]?=.*")) {...}

或使用Matcher#find()demo):

String s = "Some = equal sign";
Pattern pattern = Pattern.compile("[<>]?=");
Matcher matcher = pattern.matcher(s);
while (matcher.find()){
    System.out.println("Found " + matcher.group()); 
} // => Found =

答案 1 :(得分:0)

@ stribizhev建议使用?的替代方法是明确列举这三种情况:

(<=|>=|=)