java中带回调函数的字符串替换,类似js中的replace(rgExp,function)
https://blog.csdn.net/weixin_33834075/article/details/91599852
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class TestRegExp {
public static void main(String[] args) {
String str = "insert into @@table(@@dataAsIn1sertKeys:aaa.aa) values( @@dataAsInsertValues )";
System.out.println(replaceString(str));
} public static String replaceString(String str) {
Pattern pattern = Pattern.compile("@@[0-9a-zA-Z:.]+");
Matcher m = pattern.matcher(str);
if (!m.find()) {
return str;
} StringBuffer sb = new StringBuffer();
int index = 0;
do {
index++;
String group0 = m.group(0);
System.out.println(group0);
m.appendReplacement(sb, "aaaa_" + index + "_" + m.group(0));
} while (m.find()); m.appendTail(sb);
return sb.toString();
} }
java中带回调函数的字符串替换,类似js中的replace(rgExp,function)的更多相关文章
- LoadRunner中自定义C函数实现字符串替换
.在globals.h 中定义一个函数ReplaceStr,实现字符串的替换: int ReplaceStr(char* sSrc, char* sMatchStr, char* sReplaceSt ...
- Java中的回调函数学习
Java中的回调函数学习 博客分类: J2SE JavaJ# 一般来说分为以下几步: 声明回调函数的统一接口interface A,包含方法callback(); 在调用类caller内将该接口设置 ...
- Java中的回调函数学习-深入浅出
Java中的回调函数一般来说分为下面几步: 声明回调函数的统一接口interface A.包括方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在c ...
- Easyui中 alert 带回调函数的 消息框
带回调函数的 消息框: $.messager.alert({ title:'消息', msg:'电话号码 只能是数字!', icon: 'info', width: 300, top:200 , // ...
- 理解与使用Javascript中的回调函数 -2
在javascript中回调函数非常重要,它们几乎无处不在.像其他更加传统的编程语言都有回调函数概念,但是非常奇怪的是,完完整整谈论回调函数的在线教程比较少,倒是有一堆关于call()和apply() ...
- js回调函数,字符串,数组小析
(一)回调函数:是指通过函数参数传递到其他代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序.在抖动函数中,回调函数用于在实现一些功能之后采取的另外的措施,比如div,照片抖 ...
- PHP中的回调函数和匿名函数
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- 理解和使用 JavaScript 中的回调函数
理解和使用 JavaScript 中的回调函数 标签: 回调函数指针js 2014-11-25 01:20 11506人阅读 评论(4) 收藏 举报 分类: JavaScript(4) 目录( ...
- C中的回调函数
C语言中应用回调函数的地方非常多,如Nginx中: struct ngx_command_s { ngx_str_t name; ngx_uint_t type; char *(*set)(ngx_c ...
- 理解javascript中的回调函数(callback)
以下内容来源于:http://www.jb51.net/article/54641.htm 最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs ...
随机推荐
- 【KAWAKO】python查看内存空间占用情况
目录 查看变量的内存占用 查看运行内存占用 查看变量的内存占用 import sys c = 1145.114 print(sys.getsizeof(c)) 查看运行内存占用 import psut ...
- Spring Boot学习笔记(一)----概要与入门
本文来自博客园,作者:{张果},转载请注明原文链接:{SpringBoot学习笔记(一)--SpringBoot概要与快速入门} 一.Spring Boot概要 没有Spring Boot开发项目时各 ...
- key对象转换数组title
before <!DOCTYPE HTML> <html> <head> <title>key对象转换数组title</title> < ...
- 回顾——Dom节点类型
DOM 节点 在 HTML DOM 中,所有事物都是节点.DOM 是被视为节点树的 HTML. 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 ...
- pdf.js 跨域完美解决!
在网上查看很多方法去解决此类跨域问题,及如何动态加载pdf文件.看来看去 请求的由后台处理加header头的 pdf.js 自带的 获取地址栏param参数值的 都是很麻烦的步骤并且有时不能有效解决 ...
- mybatis动态标签——choose、when、otherwise
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- FreeRTOS内存管理文档
heap1.c:只能申请内存,不能释放内存.适合运行后不申请新内存的程序. heap2.c: 既能申请内存,也能释放内存,但释放内存后,相邻的空余内存不能合并.适合每次申请相同大小内存的变量的程序使用 ...
- CF1383E 题解
题意 传送门 给定一个长度为 \(n\) 的 01 串 \(a\).在一次操作中,你可以选择任意一个 \(i\in[1,|a|)\),令 \(a_i=\max(a_i,a_{i+1})\),然后将 \ ...
- 使用navicat进行数据传输报错ERROR: permission denied for table xxx
数据库我使用的是pgsql,在进行数据传输时报错ERROR: permission denied for table demo1,这里的原因是权限问题哦,所以可以给定当前用户更大权限,我这里则是直接切 ...
- c++练习266题:楼层编号
*266题 原题传送门:http://oj.tfls.net/p/266 题解: #include<bits/stdc++.h>using namespace std; int t;//高 ...