有没有一种简单的方法来捕捉类型?我似乎无法做基本的事情,比如使用变量表达式,例如$mapType$$mapEnd$
来做一个简单的替换。这可能有什么原因吗?也就是说,如果我有一个表达式,比如.*\s*.*abc
,我将其分为两个变量.*\s*
和.*abc
,表达式与任何文本都不匹配。可能出现什么问题?
Example template:
$var1$ = $impl$
Example second template:
$var1$ = $type$$implEnd$
如果$impl$
是一个完整的正则表达式,则将$type$
和$implEnd$
与一半匹配的正则表达式放在一起会导致模式不匹配。可能出现什么问题?
我正在尝试进行这种转变:
List<String,Object> list = new ArrayList<String,Object>();
List<String,Object> list = Lists.newArrayList();
显然,我需要以某种方式捕获“数组”,以及只有那些没有参数的类型。
答案 0 :(得分:1)
SSR匹配每个变量的一个或多个语言结构,它不会将几个变量($ mapType $$ mapEnd $)捕获到类型引用(或lexem的任何语言)中。 对于像
这样的代码 List<String> someName = new ArrayList<String>();
一个人需要有搜索模式
List<$Type$> $variable$ = new $ListType$<$Type$>()
并相应地更换它。
对于更复杂的通用表达式,需要考虑几个泛型类型变量,如Map<$Key$, $Value$>
人们可能会发现这篇文章很有用(许多具体的SSR示例模式)