在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。合理使用正则表达式确实会为程序员省去很多字符处理的工作,高速而有效。

  正则表达式的语法与使用规范可以参考http://deerchao.net/tutorials/regex/regex.htm

  这里说说用js和java程序处理字符串的一点问题:

 <script type="text/javascript">

		function check(){
var str = $('#str').val();
str = str.replace(/[\r\n]/g,"");//去掉回车换行
str = str.replace(/[ ]/g,""); //去掉空格
str = str.replace(/\\|\//g,"");//去斜杠
str = str.replace(/"([^"]*)"/g, "“$1”"); //将半角引号转换全角双引号
str = str.replace(/"([^']*)"/g, "‘$1’");//将半角引号转换全角单引号
alert(str);
} </script>

   用占位符的方法可处理成对出现的字符,方便快捷。对比用java程序处理类似的字符串可以这样写:

package com.test.processstr;
public class ProcessString {
public static void main(String[] args) {
String source = "\"We [are]\" \'family here\',come \\ {on} girl and boy! $$ \n";
String dest = "";
if (source!=null) { dest = source.replaceAll("\\s*|\t|\r|\n|\\\\|,","");
dest = dest.replaceAll(",",",");
System.out.println("去掉换行空格斜杠符号后的字符串:" + dest); dest = dest.replaceAll("\"(.*?)\"", "“$1”");
System.out.println("替换英文双引号符号后的字符串:" + dest); dest = dest.replaceAll("\'(.*?)\'", "‘$1’");
System.out.println("替换英文单引号符号后的字符串:" + dest); dest = dest.replaceAll("\\[(.*?)\\]", "【$1】");
System.out.println("替换中括号符号后的字符串:" + dest); dest = dest.replaceAll("\\{(.*?)\\}", "{$1}");
System.out.print("替换中括号符号后的字符串:" + dest);
} } }

也可以使用util包下的Pattern Matcher 类来实现java的正则表达式处理。

js与java正则表达式处理字符串问题的更多相关文章

  1. java正则表达式:验证字符串数字

    正则表达式:^([0-9]+)$ -> ^:匹配以0-9开头,[0-9]:匹配0-9数字,+:匹配至少一个数字,$:匹配以数字结尾 /** *正则表达式:验证字符串数字 *两种方式: *1.pa ...

  2. Java正则表达式实现字符串的动态多替换

    需求场景: 今天在处理SQL语句的时候,由于数据库中存的格式是VARCHAR2型的,这就需要对SQL语句中WHERE条件后边的带数字的字符串加上单引号,对于字符串的处理,首先想到的就是正则表达式,对正 ...

  3. 使用Java正则表达式提取字符串中的数字一例

    直接上代码: String reg = "\\D+(\\d+)$"; //提取字符串末尾的数字:封妖塔守卫71 == >> 71 String s = monster. ...

  4. JS和Java正则表达式验证

    js代码 <script type="text/javascript"> function SubmitCk() { var reg = /^([a-zA-Z0-9]+ ...

  5. Java——正则表达式(字符串操作)

     public class Test1 { /* * 正则表达式:对字符串的常见操作: * 1.匹配: *  其实是用的就是string类中的matches(匹配)方法. * 2.切割 *  其实 ...

  6. java 正则表达式匹配字符串

    private static List<String> getImage(String str){ List<String> tmp=new ArrayList<Stri ...

  7. java正则表达式(字符串)

    参考:http://blog.csdn.net/kdnuggets/article/details/2526588 补充: ?号的使用: ^/branch/([a-z]+[/]?)$  可以匹配 /b ...

  8. java 正则表达式 验证字符串 只包含汉字英文数字

    String content = “testContent”; String regex="^[a-zA-Z0-9\u4E00-\u9FA5]+$"; Pattern patter ...

  9. 正则表达式使用(Js、Java)

    Js中全局替换,需要在最后加上g(global),并且使用//包围起来 1.全局替换字符+ 和 只替换第一个字符+ alert("2014+03-22++aaaa".replace ...

随机推荐

  1. 5.0 JS中引用类型介绍

    其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...

  2. Android—应用程序开机自启

    android开机时候会发送开机广播,我们想要收到广播知道手机开机,才能启动我们的应用程序. 首先要在配置文件中添加相应权限: <uses-permission android:name=&qu ...

  3. 如何区别exists与not exists?

    1.exists:sql返回结果集为真:not exists:sql不返回结果集为真.详解过程如图: exists not exists

  4. SpringMvc中的数据校验

    SpringMvc中的数据校验 Hibernate校验框架中提供了很多注解的校验,如下: 注解 运行时检查 @AssertFalse 被注解的元素必须为false @AssertTrue 被注解的元素 ...

  5. 我对BFC的理解

    最初这篇文章打算回答寒冬大神的第一问,谈谈CSS布局.本来呢我以为布局主要涉及float跟display相关属性,以及他们的包含框.静态位置等等.后来看了大神的一片面试文章,嗯?这里怎么还有个BFC, ...

  6. H5图片压缩与上传

    接到需求,问前端是否可以压缩图片?因为有的图片太大,传到服务器上再压缩太慢了.意识里没有这么玩过,早上老大丢来一个知乎链接,一看,原来前辈们已经用canvas实现了(为自己的见识羞愧3秒钟,再马上开干 ...

  7. ASP.NET Identity入门系列教程(一) 初识Identity

    摘要 通过本文你将了解ASP.NET身份验证机制,表单认证的基本流程,ASP.NET Membership的一些弊端以及ASP.NET Identity的主要优势. 目录 身份验证(Authentic ...

  8. C#学习总结之集合

    一.集合接口和类型 命名空间:  集合类型  命名空间  一般集合 System.Collections   泛型集合 System.Collections.Generic   特定类型集合 Syst ...

  9. SQL 邮件配置篇

    在我们运维工作中,经常要对备份,ETL等作业进行监控,这时我们需要用到SQL SERVER自带的邮件服务器,其原理,我在这么里不多说,直接来实战,下面是我对服务器配置源码,分享给大家,希望对大家有帮助 ...

  10. ASP.NET OWIN OAuth:refresh token的持久化

    在前一篇博文中,我们初步地了解了refresh token的用途——它是用于刷新access token的一种token,并且用简单的示例代码体验了一下获取refresh token并且用它刷新acc ...