【学习python】re 正则表达式匹配特定词性的conll,提取句子主干(主谓宾)
------------------找寻特定内容-------------------------------
>>> # -*- coding: utf-8 -*-
>>> import re
>>> pattern = re.compile(u'[白蓝绿黄][A-Z][A-Z0-9]{5}')
>>> match = pattern.match(u'白A1B2C3')
>>> if match:
... print('OK')
... else:
... print('NO')
...
OK
>>>
-------------------------------------------------------------------
>>> pattern = re.compile(u'[白蓝绿黄]?\d')
>>> match = pattern.match(u'白1')
>>> if match:
... print('OK')
... else:
... print('NO')
...
OK
>>> match = pattern.match(u'白')
>>> if match:
... print('OK')
... else:
... print('NO')
...
NO
>>>
----------------------------------------------------------------------
>>> f = open('E:/abc.txt').read()
>>> import re
>>> pattern = re.compile(r'\S')
>>> match = patter.match(f)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'patter' is not defined
>>> match = pattern.match(f)
>>> print(match)
<_sre.SRE_Match object; span=(0, 1), match='1'>
-----------------------------------------------------------------
>>> print(match.group())
1
>>>
---------------------------------------------------------------
>>> pattern = re.compile(r'\w')
>>> f = open('E:/abc.txt').read()
>>> match = pattern.match(f)
>>> print(match)
<_sre.SRE_Match object; span=(0, 1), match='1'>
>>>
------------------------------------------------------------
>>> match = r'\d'
>>> f = open('E:/abc.txt').read()
>>> z = re.search(match,f).group()
>>> print(z)
1
>>>
----------------------------------------------------------
>>> match = r'[\u4e00-\u9fa5]'
>>> f = open('E:/abc.txt').read()
>>> z = re.search(match,f).group()
>>> print(z)
徐
>>>
---------------------------------------
>>> match = r'[\u4e00-\u9fa5]*'
>>> f = open('E:/abc.txt').read()
>>> z = re.search(match,f).group()
>>> print(z)
>>> match = r'[\u4e00-\u9fa5]+'
>>> f = open('E:/abc.txt').read()
>>> z = re.search(match,f).group()
>>> print(z)
徐先生
>>>
---------------------------------------
>>> match = r'[\u4e00-\u9fa5]+'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['徐先生', '徐先生', '主谓关系', '还', '还', '状中结构', '具体', '具体', '状中结构', '帮助', '帮助', '核心关系', '他', '他', '兼语', '确定', '确定', '动宾关系', '了', '了', '右附加关系', '把', '把', '状中结构', '画', '画', '介宾关系', '雄鹰', '雄鹰', '动宾关系', '标点符号', '松鼠', '松鼠', '并列关系', '和', '和', '左附加关系', '麻雀', '麻雀', '并列关系', '作为', '作为', '动宾关系', '主攻', '主攻', '定中关系', '目标', '目标', '动宾关系', '标点符号']
>>>
---------------------------------------
>>> match = r'[\u4e00-\u9fa5]+?'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['徐', '先', '生', '徐', '先', '生', '主', '谓', '关', '系', '还', '还', '状', '中', '结', '构', '具', '体', '具', '体', '状', '中', '结', '构', '帮', '助', '帮', '助', '核', '心', '关', '系', '他', '他', '兼', '语', '确', '定', '确', '定', '动', '宾', '关', '系', '了', '了', '右', '附', '加', '关', '系', '把', '把', '状', '中', '结', '构', '画', '画', '介', '宾', '关', '系', '雄', '鹰', '雄', '鹰', '动', '宾', '关', '系', '标', '点', '符', '号', '松', '鼠', '松', '鼠', '并', '列', '关', '系', '和', '和', '左', '附', '加', '关', '系', '麻', '雀', '麻', '雀', '并', '列', '关', '系', '作', '为', '作', '为', '动', '宾', '关', '系', '主', '攻', '主', '攻', '定', '中', '关', '系', '目', '标', '目', '标', '动', '宾', '关', '系', '标', '点', '符', '号']
>>>
----------------------------------------
>>> match = r'[\u4e00-\u9fa5]+\sn'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['徐先生\tn', '雄鹰\tn', '松鼠\tn', '麻雀\tn', '目标\tn']
>>> match = r'[\u4e00-\u9fa5]+\sn*'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['徐先生\t', '徐先生\tn', '主谓关系\t', '还\t', '还\t', '状中结构\t', '具体\t', '具体\t', '状中结构\t', '帮助\t', '帮助\t', '核心关系\t', '他\t', '他\t', '兼语\t', '确定\t', '确定\t', '动宾关系\t', '了\t', '了\t', '右附加关系\t', '把\t', ' 把\t', '状中结构\t', '画\t', '画\t', '介宾关系\t', '雄鹰\t', '雄鹰\tn', '动宾关系\t', '标点符号\t', '松鼠\t', '松鼠\tn', '并列关系\t', '和\t', '和\t', '左附加关系\t', '麻雀\t', '麻雀\tn', '并列关系\t', '作为\t', '作为\t', '动宾关系\t', '主 攻\t', '主攻\t', '定中关系\t', '目标\t', '目标\tn', '动宾关系\t', '标点符号\t']
>>>
--------------------------------------------------------
>>> match = r'[\u4e00-\u9fa5]+\sv'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['帮助\tv', '确定\tv', '画\tv', '主攻\tv']
>>>
---------------------------------------------------------
>>> match = r'[\u4e00-\u9fa5]+\sr'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['他\tr']
>>>
---------------------------------------------------------
>>> match = r'[\u4e00-\u9fa5]+\sn|[\u4e00-\u9fa5]+\sv|[\u4e00-\u9fa5]+\sr'
>>> f = open('E:/abc.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['徐先生\tn', '帮助\tv', '他\tr', '确定\tv', '画\tv', '雄鹰\tn', '松鼠\tn', '麻雀\tn', '主攻\tv', '目标\tn']
>>>
---------------------------------------------------------
问题是如何,去掉字母和符号,或者把列表词语,连接起来。
---------------------------------------------------------
>>> f = open('E:/abcd.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['目前\tn', '有\tv', '哲学史\tn', '我\tr', '目的\tn', '要\tv', '它们\tr', '之中\tn', '加上\tv']
>>> match = r'[\u4e00-\u9fa5]+\sn|[\u4e00-\u9fa5]+\sv|[\u4e00-\u9fa5]+\sr|[\u4e00-\u9fa5]+\sc'
>>> f = open('E:/abcd.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['目前\tn', '有\tv', '哲学史\tn', '我\tr', '目的\tn', '并\tc', '不是\tc', '要\tv', '它们\tr', '之中\tn', '加上\tv']
>>> match = r'[\u4e00-\u9fa5]+\sn|[\u4e00-\u9fa5]+\sv|[\u4e00-\u9fa5]+\sr|[\u4e00-\u9fa5]+\sc|[\u4e00-\u9fa5]+\sm'
>>> f = open('E:/abcd.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['目前\tn', '有\tv', '不少\tm', '哲学史\tn', '我\tr', '目的\tn', '并\tc', '不是\tc', '要\tv', '它们\tr', '之中\tn', '加 上\tv', '一\tm']
>>>
-----------------------------------------------------------------
>>> match = r'[\u4e00-\u9fa5]+\sn|[\u4e00-\u9fa5]+\sv|[\u4e00-\u9fa5]+\sr|[\u4e00-\u9fa5]+\sc'
>>> f = open('E:/abcde.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['目前\tn', '有\tv', '哲学史\tn', '我\tr', '目的\tn', '并\tc', '不是\tc', '要\tv', '它们\tr', '之中\tn', '加上\tv', '我\tr', '目的\tn', '是\tv', '要\tv', '揭示\tv', '哲学\tn', '乃是\tv', '社会生活\tn', '与\tc', '政治\tn', '生活\tv', '组成\tv', '部分\tn', '它\tr', '并\tc', '不是\tc', '个人\tn', '做出\tv', '思考\tv', '而是\tc', '有\tv', '各种\tr', '体系\tn', '盛行\tv', '各种\tr', '社会\tn', '性格\tn', '产物\tn', '与\tc', '成因\tn', '这\tr', '目的\tn', '要求\tn', '我们\tr', '历 史\tn', '叙述\tv', '哲学史\tn', '做\tv', '我\tr', '发觉\tv', '这\tr', '读者\tn', '是\tv', '熟悉\tv', '那几段\tn', '时期\tn', '经院哲学\tn', '大时代\tn', '乃是\tv', '一世\tn', '纪\tn', '改革\tv', '产物\tn', '而\tc', '这些\tr', '改革\tv', '又是\tc', '前\tn', '时期\tn', '腐化\tv', '反作用\tn', '如果\tc', '罗马\tn', '灭亡\tv', '与\tc', '中古\tn', '教权\tn', '兴 起\tv', '之间\tn', '那几\tn', '没有\tv', '知识\tn', '话\tn', '会\tv', '难于\tv', '理解\tv', '知识界\tn', '气氛\tn', '处 理\tv', '这段\tr', '时期\tn', '正如\tv', '处理\tv', '其他\tr', '时期\tn', '我\tr', '目的\tn', '在于\tv', '提供\tv', '造 成\tv', '哲学家\tn', '时代\tn', '以及\tc', '哲学家\tn', '其\tr', '形成\tv', '与\tc', '那些\tr', '时代\tn', '我\tr', '认 为\tv', '是\tv', '若\tc', '想\tv', '哲学家\tn', '有\tv', '同情\tv', '理解\tv', '有\tv', '加以\tv', '叙述\tv', '历史\tn']
>>>
-----------------------------------------------------------------
>>> match = r'[\u4e00-\u9fa5]+\sn|[\u4e00-\u9fa5]+\sv|[\u4e00-\u9fa5]+\sr|[\u4e00-\u9fa5]+\sc|[\u4e00-\u9fa5]+\sm'
>>> f = open('E:/abcde.txt').read()
>>> z = re.findall(match,f)
>>> print(z)
['目前\tn', '有\tv', '不少\tm', '哲学史\tn', '我\tr', '目的\tn', '并\tc', '不是\tc', '要\tv', '它们\tr', '之中\tn', '加 上\tv', '一\tm', '我\tr', '目的\tn', '是\tv', '要\tv', '揭示\tv', '哲学\tn', '乃是\tv', '社会生活\tn', '与\tc', '政治\tn', '生活\tv', '一个\tm', '组成\tv', '部分\tn', '它\tr', '并\tc', '不是\tc', '个人\tn', '做出\tv', '思考\tv', '而是\tc', '有\tv', '各种\tr', '体系\tn', '盛行\tv', '各种\tr', '社会\tn', '性格\tn', '产物\tn', '与\tc', '成因\tn', '这\tr', '一\tm', '目的\tn', '要求\tn', '我们\tr', '历史\tn', '叙述\tv', '哲学史\tn', '做\tv', '我\tr', '发觉\tv', '这\tr', '读者\tn', '是\tv', '熟悉\tv', '那几段\tn', '时期\tn', '经院哲学\tn', '大时代\tn', '乃是\tv', '十\tm', '一世\tn', '纪\tn', '改革\tv', '产物\tn', '而\tc', '这些\tr', '改革\tv', '又是\tc', '前\tn', '一个\tm', '时期\tn', '腐化\tv', '反作用\tn', '如果\tc', '罗马\tn', '灭亡\tv', '与\tc', '中古\tn', '教权\tn', '兴起\tv', '之间\tn', '那几\tn', '没有\tv', '一些\tm', '知识\tn', '话\tn', '会\tv', '难于\tv', '理解\tv', '十二\tm', '三\tm', '知识界\tn', '气氛\tn', '处理\tv', '这段\tr', '时期\tn', '正如\tv', '处理\tv', '其他\tr', '时期\tn', '我\tr', '目的\tn', '在于\tv', '提供\tv', '造成\tv', '哲学家\tn', '时代\tn', '以及\tc', '哲学家\tn', '其\tr', '形成\tv', '与\tc', '那些\tr', '时代\tn', '我\tr', '认为\tv', '是\tv', '若\tc', '想\tv', '哲学家\tn', '有\tv', '同情\tv', '理解\tv', '有\tv', '加以\tv', '叙述\tv', '历史\tn']
>>>
---------------------------------------------------------------------
【学习python】re 正则表达式匹配特定词性的conll,提取句子主干(主谓宾)相关推荐
- 正则表达式匹配特定开头和结尾的一行
正则表达式匹配特定开头和结尾的一行 目标 匹配 traceLog("R38:" + r38); 这类文本行 方案 traceLog[^;]+;$ 说明 traceLog 表示行的开 ...
- python实现正则表达式匹配
题目描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. . 匹配任意单个字符 * 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖整个字符串 s ...
- python爬虫正则表达式匹配为空的问题
在用正则表达式匹配网址信息的时候,经常会匹配到空的列表.这个问题确实很烦,我当初也在这个地方卡了好长时间,所以就打算写一个博客来好好整理一下正则表达式匹配为空的一些状况. 一:选取正则表达式的方式不对 ...
- Python 使用正则表达式匹配URL网址
(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\') http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.& ...
- python正则匹配括号以及内容_【Python】正则表达式匹配最里层括号的内容
现在有一个字符串: str1 = '(subject_id = "A" OR (status_id = "Open" AND (status_id = &quo ...
- python编写正则表达式匹配单词_Python正则表达式匹配整个单词
守候你守候我 我认为,通过给出的答案,OP所期望的行为并没有完全实现.具体来说,布尔值的期望输出没有完成.给出的答案做帮助说明这一概念,我认为他们是优秀的.也许我可以说明我的意思,我认为OP使用了下面 ...
- 【python】正则表达式匹配多个模式
利用re包的正则表达式可以便捷地得到文本中的目标 在匹配多个模式的时候,可以使用或表达式和多行匹配方法来实现. #使用或表达式来实现 #patternA|patternB,模式A 或B两种匹配 imp ...
- Python用正则表达式匹配ABAC和AABB的词语
正则表达式前加r是为了不转义反斜杠后的字符,\3代表此处重复出现子模式3 from re import findall text = '''行尸走肉.金蝉脱壳.百里挑一.金玉满堂. 背水一战.霸王别姬 ...
- python中文正则表达式匹配
最近在写接口,遇到各种各样的问题,简单的自己默默解决了,就不贴出来分享了,遇到一个正则匹配汉字的,其实python语法跟其它的也差不多,好像通用的都是用unicode码来匹配,我的需求是在一个诸如&q ...
最新文章
- php读取excel的公式,PHPExcel在解析xlsx文件中的公式时返回零“0”
- MapReduce-计数器
- 在微型计算机系统中,打印机一般是通过( ,2013湖南省计算机等级考试试题 二级C试题最新考试试题库...
- Tensorflow笔记(基础):批处理(batch_normalization)
- PHP消息通信机制测试代码
- Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)
- 纯CSS实现三列布局(两边固定,中间自适应)
- CorelDRAWX4的VBA插件开发(三十六)调用C++实现一键智能群组(第5节)导出动态链接库并在VBA中静态调用
- 技巧|在苹果Mac上打开“终端”的3种方法
- CF - 472C. Design Tutorial: Make It Nondeterministic 贪心
- 机械寿命预测,多步预测
- windows提升效率神器
- kuangbin带你飞专题
- 2022帆软BI数据分析大赛重磅来袭!瓜分20W奖金!
- dopra linux 补全shell,HS8546V5光猫补全Shell 改华为原厂界面
- bate阶段项目总结
- C语言 编写函数求n个整数的和
- android程序锁预研
- Assignment 2: UDP Pinger[课后作业]
- 在线考试系统是网站还是计算机应用,在线考试系统在电脑和手机上使用的区别是什么-[问答]...