java正则表达式详解 正则表达式汉字怎么表示


网络上的一些文本,部分会有一些不必要的空格,如果想把空格全部替换掉,使用字符串string类的replace()方法即可,如:
str = str.replace(‘ ‘,”)
但如果是中英文混排的文本,如果想替换掉汉字中间的空格,而保留英文单词之间的空格,则问题的解决要复杂一些 。需要用到正则表达式 。
如有以下文档:
行(或段)的首尾、一些汉字之间有不必要的空格,需要替换掉 。
用以下Python代码即可:
处理后的文本保存到了new.txt文档:
当然,一些有规律的乱码也可以处理 。
上面有提到全部是中文的简单处理方法,也可以用一个简单的正则表达式判断文档或字符串内容是否包含“英文 空格 英文”的形式,然后用一个条件判断分别处理:
下面需要重点剖析一下上面关于正则表达式的概念及相关的一些内容:
正则表达式是一种用来匹配字符串的强有力的武器 。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的 。
1 compile()方法 向re.compile()传入一个字符串值,表示编译一个正则表达式,它将返回一个Regex 模式对象(或者就简称为Regex 对象) 。
我们在Python中使用正则表达式时,re模块内部会做两件事情:

I 编译正则表达式,如果正则表达式的字符串本身不合法,会报错;
II 用编译后的正则表达式去匹配字符串;
如果一个正则表达式要重复使用多次或一些较复杂的正则表达式,出于效率的考虑,我们可以预编译该正则表达式,接下来重复使用时就不需要编译这个步骤了,直接匹配 。编译后生成Regular ex

    推荐阅读