匹配不包含指定中文字符的行

上一篇利用正则表达式匹配不包含某些指定字符的只是动动脑机,回忆一下正则表达式, 但是遇到了中文,一来编码问题不方便, 二来容易考虑问题有漏洞。 如果我们想实现匹配不包含某些字符串的功能, 还是用shell脚本比较安全。

如下面这段代码实现匹配所有不含“登录”和“注册”的行。其中, “=~”表示包含。

str="登录|注册"

while read line; do
    if  [[ ! $line =~ $str ]]; then
        echo $line;
    fi
done < inputfile

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-31 16:26:27

匹配不包含指定中文字符的行的相关文章

判断JSON返回的对象中的firstName这一列的值是否包含指定的字符

判断JSON返回的对象中的firstName这一列的值是否包含指定的字符,如果包含指定字符则返回true,否则返回false 标签: <无> 代码片段(1)[全屏查看所有代码] 1. [代码][其他]代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

mysql 使用正则REGEXP匹配字段中的中文字符

1.匹配包含中文和其他字符的字段: SELECT * FROM table WHERE HEX(name) REGEXP '[[:<]]*(e[4-9][0-9a-f]{4})+.*[[:>:]]' 2.匹配只包含中文.字母.数字的字段 : SELECT * FROM table WHERE HEX(name) REGEXP '[[:<:]](e[4-9][0-9a-f]{4}|3[0-9]|4[0-9A-F]|5[0-9A]|6[0-9A-F]|7[0-9A]|5F)+[[:>:

【转载】C# 字符串截取指定长度的中文字符--精点

通常,一个中文会占两个字节的空间.很多语言里,一个中文字符就算是2个字符长度. 但在C#中,string里包含的中文字符只占一个字符长度.这就导致很多时候,使用string.SubString(int startIndex,int length)方法来截取字符会错位. 最近由于工作原因,会截取指定长度的字符来使用.但是在文档里,1个中文是2个长度来计算.刚开始还只是以为文档错误,后来才知道是由于C#的差异造成的. 刚开始,是直接到网上找算法,但是找到的算法,基本思路都是挨个字符判断(根据ASCI

js查询字符串是否包含指定字符的函数indexOf

今天用到了js的函数indexOf来查看字符串中是否包含指定的字符,最开始没注意看,就拿来用了,结果用的时候才发现,IndexOf的返回值原来是字符在字符串中的index,返回值有0.1等等,如果没有的话会返回-1,我看网上好多人都str.indexOf(c)>0,这显然是不对的啊,应该是str.indexOf(c)>-1啊,自己也被误导了下,虽说没什么大碍,但是这也是个警告啊,代码不能直接copy后就拿来用啊,一定要仔细的看一下

python中文字符乱码(GB2312,GBK,GB18030相关的问题)

转自博主 crifan http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ 在玩wordpress的一个博客搬家工具BlogMover,其包含几个python脚本,其中有个是163博客搬家用的163-blog-mover.py,实现抓取网易博客的日志,然后导出xml. 但是其工具现在(2011-12-10)已经失效了.经过自己一点修改后,可以实现获得文章标题了. 用法还是原先的用法:  163-blog-m

【已解决】python中文字符乱码(GB2312,GBK,GB18030相关的问题)

http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ [背景] 在玩wordpress的一个博客搬家工具BlogMover,其包含几个python脚本,其中有个是163博客搬家用的163-blog-mover.py,实现抓取网易博客的日志,然后导出xml. 但是其工具现在(2011-12-10)已经失效了.经过自己一点修改后,可以实现获得文章标题了. 用法还是原先的用法:  163-blog-mover.py

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

原文:匹配中文字符的正则表达式: [/u4e00-/u9fa5] 这里是几个主要非英文语系字符范围(google上找到的): 2E80-33FFh:中日韩符号区.收容康熙字典部首.中日韩辅助部首.注音符号.日本假名.韩文音符,中日韩的符号.标点.带圈或带括符文数字.月份,以及日本的假名组合.单位.年号.月份.日期.时间等. 3400-4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字. 4E00-9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字. A000-

【转载】Python使用中文正则表达式匹配指定中文字符串的方法示例

本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法.分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发挥作用,必须非常谨慎.推荐最好统一为utf8编码,如果不是这种最优情况,也有酌情处理. 往往一个具有普适性的正则表达式会简化程序和代码的处理,使过程简洁和事半功倍,这往往是高手和菜鸟最显著的差别.

Java - 判断字符串是否包含中文字符

代码: package com.huey.dream.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringUtils { static String CN_REGEX = "[\u4e00-\u9fa5]"; // 匹配中文字符的正则表达式 static Pattern CN_PATTERN = Pattern.compile(CN_REGEX); /** *