Python中文
首页
教程
问答
标签
搜索
登录
注册
在映射任务中,长正则表达式的最佳选择是什么?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一本关于生物医学实体的术语词典。每个术语(键)都有一个标识符(值)列表。你知道吗</p> <p>我必须在自由文本中找到这个术语。我有几本字典,大约有300000个术语,对于这个任务,我使用Python和Java来评估速度。你知道吗</p> <p>算法类似于(在Python中):</p> <pre><code>for sentence in text_list: terms = dictionary.keys() pattern = re.compile("|".join(terms)) matches = pattern.finditer(sentence) for m in matches: ini = m.start() end = m.end() match = m.group(1) save_result(ini, end, match) </code></pre> <p>我正在使用<a href="http://pypi.python.org/pypi/regex" rel="nofollow">pypi.python.org/pypi/regex</a>包,因为标准re包无法编译我的长正则表达式。另外,我也用Java做了同样的算法。你知道吗</p> <p>我使用了大约65万个句子,在Python中,编译需要3-4分钟,算法可以在3-4小时内完成。你知道吗</p> <p>Java在几秒钟内编译regex,但是算法需要16-18小时</p> <p>我一直在阅读不同的网站和<a href="http://swtch.com/~rsc/regexp/regexp1.html" rel="nofollow">http://swtch.com/~rsc/regexp/regexp1.html</a>有一个有趣的信息,但我不知道如何处理。你知道吗</p> <p>我的问题是。。。我已经在3小时内完成了所有的句子,你知道用别的方法在更短的时间内完成同样的句子吗?可能是其他语言,或者使用其他库或包?(在Java中,我使用的是标准库<code>java.util.regex.*</code>)。上面的网站讲的是Thonpson NFA算法,有Java、Python等算法库或包吗?<code>grep</code>(Linux)是一个强大的工具,你认为我可以使用它吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>正则表达式对于这项工作来说是一个错误的工具。用你的术语创建一个字典(散列表的Python名称),将文本拆分成单词(使用字符串。拆分以及字符串.rstrip删除标点符号),并对照本词典检查文本中的每个单词。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
1 回答
Jupyter运行不同版本的卸载库?
1 回答
Jupyter运行指定的键盘快捷键
9 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
6 回答
Jupyter重新加载自定义样式
7 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
5 回答
jupyter错误:无法在随机林中将决策树视为png
8 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
7 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
7 回答
Jupyter隐藏数据帧索引,但保留原始样式
7 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
8 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
5 回答
Jupy上Python的读/写访问问题
10 回答
jupy上没有模块cv
1 回答
Jupy上的排序错误
3 回答
Jupy中bqplot图形的紧凑布局
10 回答
Jupy中matplotlib plot的连续更新
2 回答
Jupy中Numpy函数的文档
5 回答
Jupy中Pandas的自动完成问题
5 回答
jupy中Qt后端的Matplotlib动画
5 回答