Advertisement

正则表达式匹配A和B之间的字符串

阅读量:

需求:在识别到 union 关键字时,需验证其后是否接有 union all

^ 表示正则表达式用于匹配字符串的起始位置

$ 表示正则表达式用于匹配字符串的结束位置

  • (?!all) 的含义是排除与 all 相关的匹配项
  • ((?!all).)* 的作用在于匹配不包含 all 的字符组合,其中 (?!all) 用于否定断言,. 表示任意字符,* 表示重复任意次数
  • ((?!all).)* 的最终效果是识别出不包含 all 的字符串内容

验证过程如下:

复制代码
 import java.util.regex.Matcher;

    
 import java.util.regex.Pattern;
    
  
    
 public class RegexMatches {
    
 	
    
 	public static void main(String args[]) {
    
 		String str = "SELECT E_Name FROM Employees_China union  SELECT E_Name FROM Employees_USA";
    
 		String pattern = "union\ s*((?!all).)*$";
    
 		Pattern r = Pattern.c

全部评论 (0)

还没有任何评论哟~