【发布时间】:2017-11-27 01:20:54
【问题描述】:
我正在尝试在源代码中匹配多行 cmets,如下所示:
/**
* Loads an {@link Ext.data.Model} into this form (internally just calls {@link Ext.form.Basic#loadRecord})
* See also {@link Ext.form.Basic#trackResetOnLoad trackResetOnLoad}. The fields in the model are mapped to
* fields in the form by matching either the {@link Ext.form.field.Base#name} or {@link Ext.Component#itemId}.
* @param {Ext.data.Model} record The record to load
* @return {Ext.form.Basic} The Ext.form.Basic attached to this FormPanel
*/
loadRecord: function(record) {
return this.getForm().loadRecord(record);
},
/**
* Convenience function for fetching the current value of each field in the form. This is the same as calling
* {@link Ext.form.Basic#getValues this.getForm().getValues()}.
*
* @inheritdoc Ext.form.Basic#getValues
*/
getValues: function(asString, dirtyOnly, includeEmptyText, useDataValues) {
return this.getForm().getValues(asString, dirtyOnly, includeEmptyText,
useDataValues);
},
它应该只返回注释部分(以 /** 开头并以 */ 结尾)。到目前为止,我有以下内容:
^(\/\*\*)(.|\n)*$(\*\/)
【问题讨论】:
-
永远不要使用
(.|\n)+?,这是一个性能杀手。在链接线程中使用我的方法以避免在多行 cmets 很长的情况下使用您的模式出现 stackoverflow 异常。