Perl 解析 - 字符、制表符和空格的混合

标签 perl parsing

我的代码中有以下类型的行:

MMAPI_CLOCK_OUTPUTS = 1,        /*clock outputs system*/
MMAPI_SYSTEM_MANAGEMENT = 0,    /*sys man system*/

我想解析它们以获得:

'MMAPI_CLOCK_OUTPUTS' 
'1'
'clock outputs system'

所以我尝试了:

elsif($TheLine =~ /\s*(.*)s*=s*(.*),s*\/*(.*)*\//)

但这并没有得到最后一个字符串“时钟输出系统” 解析代码实际上应该是什么?

最佳答案

您应该转义斜杠、星号和空格的 s。不要在正则表达式中编写 /*s,而是编写 \/\*\s:

/\s*(.*)\s=\s*(.*),\s\/\*(.*)\*\//

关于Perl 解析 - 字符、制表符和空格的混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13987134/

相关文章:

function - 有没有办法在 perl 中将函数声明为变量?

html - 在 perl 中使用网页抓取从 html 页面输出 xml

python - 使用 Python 创建文件中存在的数字列表

java - 如何用java解析javascript链接?

xml - 在 Perl 或 XSLT 中解析数学公式 XML<-> Latex

regex - Perl 模式匹配,我们打印所有匹配部分,但仅打印匹配部分(而不是其余部分)

perl - 对对象进行排序

java - 如何解析这个类似于 JSON 的字符串?

使用 awk 解析日志条目

parsing - haskell - 解析/读取 .pdf 文件的内容