​http://deerchao.net/tutorials/regex/regex.htm#lookaround​

正则:零宽断言和负向零宽断言_正则表达式

正则:零宽断言和负向零宽断言_java_02

正则:零宽断言和负向零宽断言_字符串_03

代码展现

package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexUtil {

public static void main(String[] args) {

/***
* .*(?=>) 600
*
* (?<=>=)+.*(?=and) 2
*
* (?<=\\()+.*(?=!=) int
* 其中:\\为转义字符
* (?<=!=)+.*(?=or) int
*
* (?<=or)+.*(?=<=) 2
*
* (?<=<=)+.*(?=\\)) 600
*/

String input = "600>=2 and (int != int or 2 <= 600)";

String regex = "(?<=<=)+.*(?=\\))";

System.out.println(Match(input , regex));

}

/**
*
* 正则表达式辅助类
*
* @param input 字符串
* @param regex 正则表达式
* @return 正则表达式匹配结果
*/
public static String Match(String input, String regex) {

Pattern praiseCompile = Pattern.compile(regex);

Matcher praiseMatcher = praiseCompile.matcher(input);

if (praiseMatcher.find()) {

return praiseMatcher.group(0).trim();

}

return null;

}

}