当前位置:  编程技术>其它

正则表达式不区分大小写以及解决思路的探索 .

    来源: 互联网  发布时间:2014-10-18

    本文导语:  今天遇见一个消除js正则表达式不区分大小写的问题,网上一搜,发现自己果然是菜鸟。 在js里面//g,其中g表示全局匹配,如果没有这个,那么就意味着只能匹配一次就会自动结束;/i/就表示在匹配的过程中不区分大小写。呵...

今天遇见一个消除js正则表达式不区分大小写的问题,网上一搜,发现自己果然是菜鸟。

在js里面//g,其中g表示全局匹配,如果没有这个,那么就意味着只能匹配一次就会自动结束;/i/就表示在匹配的过程中不区分大小写。呵呵。。这个在参数过滤的过程中就很有用了。

代码如下:

dxycode=dxycode.replace(//gi,'n')

都说到这个份上了,自然情不自禁的看了一下.NET中的正则表达式不区分大小写的情况。在.NET中,RegexOption枚举可以使用影响匹配行为的选项修改正则表达式模式。比如其中的IngoreCase就是匹配过程中忽略大小写的限定。附上代码如下:

Regex.Match (String, String, RegexOptions);

Regex.Replace (String, String, String, RegexOptions)

正则表达式其实是一个很有趣的事情,但是不因正而正则。下面描述一下我今天碰到的问题。

大家可能都会遇到这样的问题,在进行ajax的传输后,利用javascript绑定数据的时候,经常因为注入恶意脚本、html标签未关闭等问题导致页面错版和被别人脚本恶意注入。这个时候的我们想到的第一个解决办法是:将所有标签全部转换成实体。这样页面既不会被恶意脚本注入,又不会出现错版情况。 很好,这是一种解决途径,毕竟菜鸟开始想问题了。但是这样会误杀一篇有用的html标签,比如img,a等等。因此,第一种想法被否定了。

然后菜鸟开始寻找第二种途径。先将问题分解,让我们先解决恶意脚本注入的问题。这个好办,把其中一部分恶意的脚本过滤掉。好啊,这个简单,这个时候就用到了我上面说的正则表达式了。一路走下去,恶意脚本注入得到解决。这里先不指出菜鸟这样做的缺点。先看下一个问题。那么怎样防止页面错版的问题呢。哎呀。。。这个菜鸟可是想破了脑袋,最后的结论是用正则表达式吧为关闭标签给照出来,要么修补未关闭标签,要不直接删除未关闭标签。

再来评论菜鸟的第二种解决途径和第三种方法。这样做有一个共同的确定。就是你手动改变了用户的内容,不经意的用户还会以为你系统有问题,因为缺少很好的用户体验。第二,正则表达式始终是要费能的一个东东,需要不停的比对。虽然给系统的影响可能不是很大,但是能节约性能为什么不节约呢?

最终菜鸟找到了一个很好的方法,对于文本框的输入,采用第一种方法,吧用户的输入内容直接转换为实体。当然如果用户有输入图片和超链接的需要,我们也不能不满足。如何满足?解决途径如下:自定义标签,然后再显示的时候自定义标签转换。此时菜鸟才恍然大悟。

其实菜鸟也在不断的进步的,这个问题的解决体验了一个思想就是:特殊问题特殊处理的思想。有些东西是不能被大众化的,那么我们就对其特殊处理吧!

最后,恭喜菜鸟走出了“因正则而正则”的误区。同时附上正则表达式大全:

http://www./tools/zhengze.html


    
 
 

您可能感兴趣的文章:

  • Perl 正则表达式之角色化记忆
  • js正则表达式之RegExp对象之compile方法 编译正则表达式
  • Linux c++ boost库正则表达式用法
  • 正则表达式 表示 非指定字符串开头的正则
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 正则表达式问题,使用正则表达式找出指定字符串并替换?
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 正则表达式概述 什么是正则表达式 .
  • JS 正则表达式的相关方法(正则学习笔记1)
  • jQuery中的正则表达式分析 正则基础
  • java 正则表达式基础,实例学习资料收集大全 原创
  • 哪些命令可以使用正则表达式
  • 常用正则表达式及评注-学习正则必备
  • (菜鸟飞飞)问个正则表达式的问题
  • 向大家推荐一个收集整理正则表达式的网站
  • 正则表达式的问题
  • 关于正则表达式匹配问题
  • Python 匹配任意字符(包括换行符)的正则表达式写法
  • php 正则 不包含某字符串的正则表达式
  • Java正则表达式 reb4j
  • 大虾,请问谁有正则表达式的资料?谢谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c#正则过滤图片标签 asp.net正则过滤的例子
  • 正则匹配后面非指定字符的正则 原创
  • java使用正则表达校验手机号码示例(手机号码正则)
  • PHP html标签正则替换并可自定义正则规则
  • python正则表达式去掉数字中的逗号(python正则匹配逗号)
  • 正则表达式口诀_学习正则的朋友值得一看
  • Javascript里的两种使用正则的方法
  • 常用正则 常用的C#正则表达式
  • 寻求正则表达试
  • 学习IP地址的正则表达式
  • asp.net正则表达式提取中文的代码示例
  • 正则表达式中使用变量赋值
  • 用正则表达式来表示中文
  • java正则表达式验证函数
  • linux下有什么函数可以处理正则表达式?
  • emacs里空行的正则表达式如何写?
  • 正则式 ^[^ ](.*[^ ])?$ 的含义
  • 正则式如何只匹配一个汉字?
  • 关于sed的正则表达式
  • 正则表达式小疑问


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3