您的位置:

java正则替换,java正则替换数字

本文目录一览:

java正则表达式怎么一个个替换匹配的内容

String a = "我是 f_static_000 的 f_static_001 aaa f_static_001";

// 正则根据自己需要修改,replaceAll可以使用正则的捕获组功能,$n引用第n个捕获组

/**

replaceAll(regExp,replacement);第一个参数是正则字符串,第二个是替换内容

正则里面有捕获(正则里面用小括号捕获)和引用的功能

*/

a = a.replaceAll("(f_static_\\d+)","#[face/png/$1.png]#");

java正则表达式怎么定义只替换中间的字符

可以使用分组来完成,替换字符串中使用$1、$2、$3……可以获取对应组的匹配结果。如果前后的字符串是固定的那更简单,直接在替换的时候写上就好了。

因为String的replaceAll就是使用的正则表达式所以示例直接使用的String的替换,Pattern的替换同理。

public class Demo {

    public static void main(String[] args) {

        String str = "aa文字1bb哈哈cc测试dx,测试字符串aa1234bb";

        // 替换aa、bb之间的字符串为 "成功"

        String str1 = str.replaceAll("aa.*?bb", "aa成功bb");

        System.out.println(str1);

        // 替换aa、bb之间的字符串为 "成功"

        String str2 = str.replaceAll("(aa).*?(bb)", "$1成功$2");

        System.out.println(str2);

        // 替换小写字母之间的字符串为 "成功"

        String str3 = str.replaceAll("([a-z]+).*?([a-z]+)", "$1成功$2");

        System.out.println(str3);

    }

}

java正则表达式替换一段字符串

Java正则表达式  .*(from.*)$   替换成  select count(*) $1

完整的Java替换程序如下

public class AA {

 public static void main(String[] args) {

  String s=" Select a from xxx a " + " where a.id= :id";

  String regex = ".*(from.*)$";

  String result=s.replaceAll(regex,"select count(*) $1");

  System.out.println(result);

 }

}

运行结果

select count(*) from xxx a  where a.id= :id

因为我不知道TbItem.class.getName()方法返回的表名,所以用xxx代替.

你可以用String s=" Select a from " + TbItem.class.getName() + " a " + " where a.id= :id";没问题不用改.

java过滤sql关键字的正则替换掉

java过滤sql关键字的正则替换掉方法如下:

可以在C#中这样做:Regexregex = newRegex(@"]*[^");

stringcleanedHtml = regex.Replace(html, "");

可是我并不想再写个循环去遍历每条记录,然后保存每条记录,我想在数据库中一步到位,而sql只提供了简单的replace函数,这个函数明显不能达到咱的要求,那就去写一个自定义函数吧。

函数源代码如下:CREATE functiondbo.regexReplace

(@source ntext,--原字符串@regexp varchar(1000),--正则表达式@replace varchar(1000),--替换值@globalReplace bit=1,--是否是全局替换@ignoreCase bit=0 --是否忽略大小写)returnS varchar(1000)AS

begin

declare@hr intege

declare@objRegExp integer

declare@result varchar(5000)exec@hr =sp_OACreate'VBScript.RegExp',@objRegExp OUTPUT

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OASetProperty@objRegExp,'Pattern',@regexp

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OASetProperty@objRegExp,'Global',@globalReplace

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OASetProperty@objRegExp,'IgnoreCase',@ignoreCase

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OAMethod@objRegExp,'Replace',@result OUTPUT,@source,@replace

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OADestroy@objRegExp

IF@hr 0 begin

returnnullend

return@result

end

需要注意的是,即使写好了这个函数,也并不能马上使用。执行这个函数时可能会出现以下的错误:Msg 15281, Level 16, State 1, Line 1

SQL Server blocked access to procedure 'sys.sp_OACreate' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ole Automation Procedures' by using sp_configure. For more information about enabling 'Ole Automation Procedures', see "Surface Area Configuration" in SQL Server Books Online.

这是因为未开启Ole Automation Procedures选项,MSDN中的Ole Automation Procedures选项。执行下面的语句开启这个选项:sp_configure'show advanced options',1;GO

RECONFIGURE;GOsp_configure'Ole Automation Procedures',1;GO

RECONFIGURE;GO

所有的准备工作都已经做好,那就试验一下吧。

Example1:忽略大小写并替换selectdbo.regexReplace('123456',']*[^','',1,1)

Example2: 使用贪婪匹配

html代码:

Also Available - Smith Hogan: Criminal Law Cases Materials 10th ed

There is, as ever, detailed analysis of the many recent case developments, in particular,

a revision of the chapter dealing with secondary liability and joint enterprise.

调用代码:selectdbo.regexReplace(html,']*(.|\n)*?','',1,1)

Example3:去除html标签selectdbo.regexReplace('

Key Contact:

Mr Jack, Zhou

General Manager

Mr Adu, Ho

Marketing Director

Overseas Sales

MsWinny, Luo

Sales Manager

Overseas Sales',']*','',1,0)

Example4:数据库字段值替换updateBooks。