Javascript 需要更好的正则表达式来匹配文本
我的要求是找到方法被调用方的错误使用模式,因为我希望有一个正则表达式可以找到无效用例 我有一个方法,它将接受预定义格式的参数 可能的预定义输入参数:Javascript 需要更好的正则表达式来匹配文本,javascript,regex,performance,Javascript,Regex,Performance,我的要求是找到方法被调用方的错误使用模式,因为我希望有一个正则表达式可以找到无效用例 我有一个方法,它将接受预定义格式的参数 可能的预定义输入参数: abc 英国广播公司 abc英国广播公司 德 德abc 函数:函数方法(参数){} 有效的函数被调用方用例: 对象、方法(“abc”)或对象方法('abc') 对象、方法(“bbc”)或对象方法('bbc') 对象。方法(“abc-bbc”)或object.method('abc-bbc') 对象、方法(“der”)或对象方法('der') 对象、
是否可以进一步优化上述正则表达式(或优化性能更好的任何其他表达式)。如果您有一个有效输入的封闭列表,我只需检查输入是否与其中一个一致,例如,只需搜索一组选项即可 如果不是这样的话,您应该为我们提供一个更好的解释,说明所需的输入格式。我随附
.(method)\s*\((?![\"\'](abc|bbc|abc bbc|der|der abc)[\"\'])
所以我刚从这个(x | x | x)组中“移动”和“移动”,以使事情更清楚此外--您可以添加/g修饰符进行测试,并将所有数据放入文本框。
这里是链接:为什么要使用regex开始?@Nit:我们从一个日志中按照这种方式进行操作,我无法改变这种方法。因此,遵循它。感谢您的快速帮助。顺便说一句,如果您从
(方法)
中删除捕获,您可以进一步提高性能。另外,我想您需要匹配一个文字点,将其转义(\。
)我建议\.方法*(?![“”)(abc | bbc | abc | bbc | abc | der | der abc)[“]”)
@Stribizev:我没有注意到\.部分,感谢您的通知和[]部分。至于捕获(方法),我们需要突出显示错误的权利?(不需要捕获?)@user3620283:使用“方法”捕获,正则表达式的计算分为520、64、72、76步。如果不使用,它的计算分为390、48、56、60步。您不需要突出显示组,您可以突出显示整个匹配项。我很怀疑,\.setDisplayFormat\s*(?!\s*[“')之间的区别是什么(shortdate | shortdate shorttime | shortdate longtime | longdate shortime | longdate longtime | longtime | shortime | shortime | longdate longtime | longtime | shortime | longdate | longdate | longtime | longdate | longtime | longtime | shortime | shortime | shortime | shortime