Python中文
首页
教程
问答
标签
搜索
登录
注册
Python:关于解析人类可读tex的问题
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在分析人类可读的科学文本,主要是在化学领域。我感兴趣的是将文本分解成一系列单词、科学术语(下面将详细介绍)和标点符号。在</p> <p>例如,我希望文本“hello,world.”分成4个标记:1)“hello”;2)逗号;3)“world”和4)句点。请注意,空间不需要专门的标记。在</p> <p>像“吡啶-4”这样的化学术语与“甲基-4”有关。任何学过化学的人都知道这些公式可能很长,可能包含数字、破折号和逗号,有时甚至还有圆括号,但我认为可以肯定的是,这些可爱的表达式不能包含空格。另外,我认为这些表达式必须以数字开头。我希望每一个这样的表达出来作为一个单一的象征。在</p> <p>今天,我使用手动解析来查找以数字开头并以空格、换行符或标点符号后跟空格或换行符结尾的“块”文本。在</p> <p>我想知道是否有一个聪明的解决方案(regex或其他)可以用来根据上述规范标记文本。我在Python中工作,但这可能与语言无关。在</p> <p>输入示例(显然忽略内容…):</p> <p>“你好。1-甲基-4-苯基吡啶是极坏的。但是,1-甲基-4-苯基-1,2,3,6-四氢吡啶更差。”</p> <p>示例输出(每个令牌在其自己的行中):</p> <pre><code>Hello . 1-methyl-4-phenylpyridinium is ultra - bad . However , 1-methyl-4-phenyl-1,2,3,6-tetrahydropyridine is worse . </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>可能会有一个正则表达式来解析您想要的内容,但我不认为它是非常可读/可维护的。我的建议是使用类似ANTLR的解析器生成器。我认为你必须抛弃这样一个观念:你可以把化学描述变成一个单一的符号,太复杂了。ANTLR甚至有一个调试器,这样你就可以知道为什么它没有解析你认为应该解析的东西,我认为使用regexp是不可能的。在</p> <p>谨致问候</p> <p>塞巴斯蒂安</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在PyObj中使用respondsToSelector和performSelector
7 回答
如何在pyobj中停止线程
6 回答
如何在pyobj中生成线程
2 回答
如何在pyodbc中为记录集指定游标类型?
7 回答
如何在pyodbc中从用户处获取表名,同时避免SQL注入?
10 回答
如何在pyodbc中使用executemany运行多个SELECT查询
3 回答
如何在pyodbc中同时在n个游标上并行运行n个进程?
5 回答
如何在pyodbc中控制连接池的大小?
4 回答
如何在pyodbc中自动调用fetchall()而不进行异常处理?
6 回答
如何在pyODBC查询中参数化日期戳?
3 回答
如何在pyodbc输出转换器函数中解压sqlserver DATETIME?
4 回答
如何在pyodb中安装所有驱动程序
1 回答
如何在pyodb嵌套循环中调用不同的查询
5 回答
如何在pyomo.environ公司modu装置
4 回答
如何在Pyomoconstraints中建模逻辑或量词
8 回答
如何在Pyomo中为约束使用数组
2 回答
如何在pyomo中使用集和范围集的多级索引?
6 回答
如何在PYOMO中分配伪二进制变量
7 回答
如何在Pyomo中创建OR约束?
8 回答
如何在Pyomo中动态地将变量添加到列表中?
2 回答