java正则替换,java正则替换指定字符

本文目录一览:

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。

java 正则替换同一类字符串

Pattern p = Pattern.compile(“a p=\”(\\S+)\” pp=\”(\\S+)\”(\\S+)/a”);

String[] strs = {“a p=\”变量1\” pp=\”变量2\”表达式1/a”,

“a p=\”变量3\” pp=\”变量4\”表达式2/a”,

“a p=\”变量5\” pp=\”变量6\”表达式3/a”};

for(String str : strs) {

Matcher m = p.matcher(str);

if(m.matches()) {

String sub = String.format(“x m=\”%s!=null\” %s %s/x”,

    m.group(2), m.group(1), m.group(3));

System.out.println(sub);

}

}

JAVA 正则替换字符

String s = “A class=test id=\”123\” name=张三 tt=kk()这里不替换 test=no kakaka/AC class=sss /B class=a id=\”b\” name=c/B”;

System.out.println(s);

System.out.println(“——————————————“);

String s1 = s.replaceAll(“=([^’\”\\s]+)(\\s|)”,”=\”$1\”$2″);

System.out.println(s1);

//—————————————-

输出的结果是

A class=test id=”123″ name=张三 tt=kk()这里不替换 test=no kakaka/AC class=sss /B class=a id=”b” name=c/B

——————————————

A class=”test” id=”123″ name=”张三” tt=”kk()”这里不替换 test=”no” kakaka/AC class=”sss” /B class=”a” id=”b” name=”c”/B

为了非标签内的=号,可能得使用预查找,但测试有点问题就暂时不贴上来了,如果要求不是很严格,这个是可以凑活着用的

//=====和楼主讨论中发现一个奇怪问题,就是[^’\”\\s]不能正确匹配到中文(楼主的jdk1.4就会漏掉中文)。

经过测试,在1.4以及以后的版本,下面这个是可行的

String s1 = s.replaceAll(“=(?![‘\”])(.*?)(\\s|)”,”=\”$1\”$2″);

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替换程序如下

public class R{

 public static void main(String[] args) {

  String s = “(我)发来了一条信息。(你好。)”;

  s=s.replaceAll(“(我)”,”小明”);

  s=s.replaceAll(“(你好。)”,”晚安。”);

  System.out.println(s);

 }

}

java 正则替换 \(

你是要把\(替换成什么,既然没说替换成为什么,我以把出现”\(“的地方替换为””为例

String oldStr = “123\\(abc”;

System.out.println(oldStr);

String newStr = oldStr.replaceAll(“\\\\\\(“, “”);

System.out.println(newStr);

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/240083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:19
下一篇 2024-12-12 12:19

相关推荐

  • 英语年龄用连字符号(Hyphenation for English Age)

    英语年龄通常使用连字符号表示,比如 “five-year-old boy”。本文将从多个方面探讨英语年龄的连字符使用问题。 一、英语年龄的表达方式 英语中表…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29

发表回复

登录后才能评论