需求:在匹配到 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.compile(pattern);Matcher m = r.matcher(str);System.out.println(m.matches());}}

或者使用

?=、?!、?<= ?<! 用于限定它前后的表达式,不能单独使用,本身没有作用。a(?=b) 匹配后面有 b 的 a。a(?!b) 匹配后面没有 b 的 a。(?<=a) b 匹配前面有 a 的 b。(?<!a) b 匹配前面没有 a 的 b。

正则表达式为  (?<=左侧的内容).*(?=右侧的内容)

\s

匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

\S

匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

字符串"my name iszhangvalue  hello  world"

①、想要获取"is" 和“value”之间的内容但是不包括“is”和“value”

(?<=is).*(?=value)

②、想要获取想要获取"is" 和“value”之间的内容包括“is”和“value”

is(.*?)value

需求:

写正则表达式:
提取出一段字符串中所有如下部分:
以              'Subject': ' 开头
紧接着以第一个   ',           结尾
正则表达式为:(?<='Subject': ').*?(?=',)

如果是

(?<='Subject': ').*(?=',)这种匹配出来的就只有一个了,加一个?

正则表达式-匹配A和B之间字符串相关推荐

  1. 正则表达式匹配非,以及非字符串的匹配

    写法介绍 首先,正则表达式的"非",代表不想匹配某个字符. 比如字符串 helloword123,/[^0-9]+/g 可以匹配非数字,即匹配结果为 helloword: 同样的, ...

  2. leetcode10. 正则表达式匹配 一道没有解释的字符串dp困难题

    给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串  ...

  3. python正则表达式匹配包含或者不包含字符串的方法

    记录下正则匹配包含或者不包含字符串的表达式 import time import refindStr = 'setAttr ".uvst[0].uvsn" -type " ...

  4. 正则表达式匹配全是标点符号的字符串

    ^[^a-zA-Z0-9\u4e00-\u9fa5]+$ 可以在线测试:https://c.runoob.com/front-end/854/.

  5. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

  6. vim替换字符串带斜杠_Vim:正则表达式匹配一个字符串

    到目前为止,所有给出的答案对我来说都是错误的,因为它们执行的是贪婪匹配.在多次出现"否"的行中,它们将匹配最后一个: YES YES YES YES no YES YES no Y ...

  7. 正则表达式匹配不包含某些字符串的技巧

    这篇文章主要介绍了正则表达式匹配不包含某些字符串的技巧,详细分解了应该怎么做和这么做的原因,需要的朋友可以参考下 经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^ ...

  8. 正则表达式-提取开头和结尾之间的字符串

    正则表达式-提取开头和结尾之间的字符串 正则表达式测试网站:http://tool.oschina.net/regex/ 测试字符串:"开始A123结束" 提取开头和结尾之间的字符 ...

  9. python3正则表达式匹配但不包括最后一个字符_正则表达式匹配不包含某些字符串的技巧...

    经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤"hede"字串,但这种写法是错误的.我们可以这样写:[^hede],但这样 ...

最新文章

  1. MySQL如何快速插入数据
  2. 「一夜白头」有科学依据了,减压可返黑 | 哥伦比亚大学最新研究
  3. LeetCode Pascal's Triangle II
  4. 查看/清除 本地电脑/浏览器缓存?
  5. 提高PHP代码质量需要注意的地方三
  6. 对图片进行压缩,水印,伸缩变换,透明处理,格式转换操作
  7. (转)goldengate 复制进程replicat出现ORA-01403 错误
  8. dubbo内置哪几种服务容器_Dubbo服务提供者几种启动方式
  9. 为何要进行软件维护?维护的种类及目标?
  10. 中国摊铺机(车辆)市场趋势报告、技术动态创新及市场预测
  11. Linux 命令(137)—— strace 命令
  12. oracle解析关闭,oracle起动和关闭详解(转)
  13. 【发布】Arknights(明日方舟)拆包+桌面精灵
  14. 推荐10款最好的免费项目管理工具
  15. 黑马程序员——递归与枚举
  16. 盘点安卓手机被吐槽最多的三大奇葩设计
  17. 程序员学金融-金融科普(4)-净资产收益率
  18. android 坐标度分秒转换工具,百度地图API详解之坐标系转换
  19. 终于知道程序员为什么总是带个耳机了!
  20. 阿里云ECS学习资源

热门文章

  1. 求解两点间最短路径的算法
  2. it项目管理第六次作业
  3. Postman接口测试工具
  4. 用VB.NET写的一个简易的RSS阅读器
  5. linux中i的英文单词,Linux下gcc/g++中-I(i的大写)、-L和-l
  6. 【Kruskal】Uva 1395 Slim Span
  7. html 显示doc文件
  8. U深度U盘启动不了Thinkpad X250怎么办?
  9. 计算机慢的解决方法,几种电脑变慢的解决方法
  10. poj1125Stockbroker Grapevine(最短路floyd)