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

  正则表达式的语法与使用规范可以参考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. .net core和angular2之前端篇—1

    2016-10-20更新 今天的这篇文章还是一篇"Hello World",只不过开发环境有所改变--Visual Studio Code+Angular2+Webapck,也算是 ...

  2. Xamarin.Android之SQLiteOpenHelper

    一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提 ...

  3. ASP.NET 5运行时升级到Beta5

    在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变.和Visual Studio 2015 RC一起安装的AS ...

  4. mysql 外键约束备注

    梳理mysql外键约束的知识点. 1.mysql外键约束只对InnoDb引擎有效: 2.创建外键约束如下: DROP TABLE IF EXISTS t_demo_product; CREATE TA ...

  5. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  6. Go语言实战 - 使用SendCloud群发邮件

    山坡网需要能够每周给注册用户发送一封名为"本周最热书籍"的邮件,而之前一直使用的腾讯企业邮箱罢工了,提示说发送请求太多太密集. 一番寻找之后发现了大家口碑不错的搜狐SendClou ...

  7. C# - 缓存OutputCache(二)缓存详细介绍

    本文是通过网上&个人总结的 1.缓存介绍 缓存是为了提高访问速度,而做的技术. 缓存主要有以下几类:1)客户端缓存Client Caching 2)代理缓存Proxy Caching 3)方向 ...

  8. 如何删除webstrom中生成的.idea wrokspace

    首先说下遇到的问题,之前一直是通过webstrom来操纵github 以及git ,包括切换,生成分支,pull,push代码,这几天心血来潮 通过git代码进行了一次这些操作,然后当我在gitlab ...

  9. 本地存储之cookie

    cookie概述: Cookie 在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在 RAM 中发挥作用 (此种 Cookies 称作 Session Cookies), 一旦用户从该 ...

  10. 【.net 深呼吸】自定义特性(Attribute)的实现与检索方法

    在.net的各个语言中,尤其是VB.NET和C#,都有特性这一东东,具体的概念,大家可以网上查,这里老周说一个非标准的概念——特性者,就是对象的附加数据.对象自然可以是类型.类型成员,以及程序集. 说 ...