python怎么用正则表达式提取中文

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么用正则表达式提取中文相关的知识,希望对你有一定的参考价值。

Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用
unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符
>>> import re

>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc

>>> re.match(u"[\u4e00-\u9fa5]+",s)
<_sre.SRE_Match object at 0xb77742c0>

>>> pat='中文'.decode("utf8")
>>> re.search(pat,s)
<_sre.SRE_Match object at 0x16a16df0>

>>> newpat='这里是中文内容'.decode("utf8")

>>> news=re.sub(pat,newpat,s)
>>> print news
这里是中文内容:123456aa哈哈哈bbcc

from:http://blog.aizhet.com/web/12078.html
参考技术A

1、字符串line='\\ufeffD0002044\\x01大数据\\x01数据分析\\x01技术\\x01工具\\x01应用\\n'
想提取出其中的“大数据”,“数据分析”,“技术”,“工具”,“应用”这些中文,用了正则表达式:
>>> pat2='\\x01(.*?)'
>>> rs=re.compile(pat2).findall(line)
>>> print(rs)
['', '', '', '', '']
显示的结果是空,请问如何才能正确的提出中文部分。

2、原文: 法规名称:'《中华人民共和国合同法》',Items:[法条名称:'第五十二条'
匹配成: 《中华人民共和国合同法》第五十二条
(?<=法规名称:\\').*?(\\',Items:[法条名称:\\').*?(?=\\') 请问这样匹配哪里错了?Python报sre_constants.error: unterminated character set at position 22  

3、Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用
unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\\u4e00-\\u9fa5]+”可以表示一个或者多个中文字符
>>> import re
>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\\u4e2d\\u6587\\uff1a123456aa\\u54c8\\u54c8\\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc 。

用正则表达式提取网址中的IP怎样取?

比如:http://10.1.1.1:8080/abcde/cdf.…… 取10.1.1.1:8080怎样取?

\\d+\\.\\d+\\.\\d+\\.\\d*\\:\\d+


import java.util.regex.*;


// 表达式对象

Pattern p = Pattern.compile("\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d*\\\\:\\\\d+");


// 创建 Matcher 对象

Matcher m = p.matcher("");


// 是否找到匹配

boolean found = m.find();


if( found )

    String foundstring = m.group();

    int    beginPos    = m.start();

    int    endPos      = m.end();


参考技术A

用正则表达式提取网址的方式如下:

    用ifconfig来提取

    ifconfig eth0|grep "inet addr"|awk 'print $2'|awk -F: 'print $2'192.168.10.1

    用ip addr来提取。

    ip addr | grep -Po '[^ ]+(?=/\\d)'


参考技术B

没有对IP地址的有效性做检查:

<html>
<head>
<!--
    将此内容保存为 html 文件,浏览器允许运行脚本进行测试。
-->
<script type="text/javascript">
function check()

    var str;
    str = document.getElementById("txtInput").value;
    if (str.match(/(\\d+\\.\\d+\\.\\d+\\.\\d+:\\d+)/) != null)
    
        alert("提取IP端口:" + RegExp.$1);
    
    else
    
        alert("没有提取到内容。");
    

</script>
</head>
<body>
    输入:<input type="text" id="txtInput" value="http://10.1.1.1:8080/abcde/cdf" />
    <button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html>

追问

用java 怎么写啊

追答

没写过java,正则表达式在什么语言中都是一样的,所以你了解一下java使用正则表达式相关的用法,然后对应的正则表达式用这个去写代码:

(\d+\.\d+\.\d+\.\d+:\d+)

以上是关于python怎么用正则表达式提取中文的主要内容,如果未能解决你的问题,请参考以下文章

C#怎么用正则表达式提取链接和图片标签的属性

用python正则表达式提取字符串

用正则表达式提取网址中的IP怎样取?

js 正则表达式提取某一段字符

用正则表达式提取wps内容

正则表达式怎么提取json中的value?