我刚开始用ANTLR(Java的人),我需要一些帮助与解析.erb文件。 比方说,我有这样的代码:如何从.erb文件中的函数调用中提取函数名称?
<html>
<body>
<div class ='title'> <h1>BLABLA</h1></div>
<div class = 'log'>
<%= form_tag('/home/login', :method => 'get') do %>
<tr>
<td><%= label_tag(:nick, 'Nickname:') %>
<%= text_field_tag(:nick) %>
</td>
<td><%= label_tag(:password, 'Password:') %>
<%= password_field_tag(:password) %>
</td>
</tr>
<%= submit_tag('Login') %>
<% end %>
</div>
</body>
</html>
什么是提取调用的函数名的最简单的方法?我需要一个像这样的列表:[“form_tag”,“label_tag”,“text_field_tag”,“password_field_tag”,“submit_tag”]
我真的不需要任何东西,所以采取HTML语法和适应ANTRL Github似乎有点矫枉过正。
谢谢你的阅读/帮助。
作为快捷方式,您可以扫描所有的'<%= %>'和'<% %>'块,并将它们解析为红宝石。 –
@SergioTulentsev你的意思是基本上,采取所有标签之间的字符串,把它们放在一起,并使用红宝石antlr语法? – pokeahontas
就是这样的,是的。或者应用一些快速和肮脏的正则表达式,就像在@ mudasobwa的回答中一样。 –