python - 如何稍后在正则表达式中评估匹配的数字? - Lexin FORTRAN 'H' 使用 Ply 编辑描述符

标签 python regex lexical-analysis ply

我正在使用Ply解释 FORTRAN 格式字符串。我在编写正则表达式来匹配 'H' edit descriptor 时遇到问题其形式为

xHccccc ...

其中x指定在“H”之后读取的字符数

Ply 使用单个正则表达式匹配标记,但我在使用正则表达式执行上述操作时遇到问题。我正在寻找类似的东西,

(\d+)[Hh].{\1}

其中 \1 被解析为整数并作为正则表达式的一部分进行计算 - 但事实并非如此。

看来it is not possible to use matched numbers later in the same regex ,是这样吗?

有没有人有任何其他可能使用 Ply 的解决方案?

最佳答案

正则表达式不能做这样的事情。不过你可以破解它:

(1[Hh].|2[Hh]..|3[Hh]...|etc...)

丑陋!

关于python - 如何稍后在正则表达式中评估匹配的数字? - Lexin FORTRAN 'H' 使用 Ply 编辑描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2216843/

相关文章:

python - 使用 PySide 将数据库列转换为 Python 列表?

java - 如何使用正则表达式查找密码

c++ - 使用正则表达式库在 C++ 中创建词法分析器?

c - 代码中的标记数量

python - 如何根据python中其他列的单元格条件移动列的位置

python - 将散点数据转换为误差条等于标准差的分箱数据

python - 从 sql 脚本中提取模式

php - 需要动态替换字符串中的参数

ruby - 我需要一个正则表达式来找到一个不在任何 html 标签或任何 html 标签的属性值内的 url

parsing - 词法分析器和解析器的职责