我的要求是找到方法被调用者的错误使用模式,因为我想要一个正则表达式来找到无效的用例。
例如:我有一个方法,它将接受具有预定义格式的参数。
可能的预定义输入参数:
- abc
- 英国广播公司
- abc 英国广播公司
- 德尔
- der abc
函数:函数方法(参数){}
有效的函数被调用者用例:
- object.method("abc"); 或 object.method('abc');
- object.method("bbc"); 或 object.method('bbc');
- object.method("abc bbc"); 或 object.method('abc bbc');
- object.method("der"); 或 object.method('der');
- object.method("der abc"); 或 object.method('der abc');
无效用例:
- object.method("abcd");
- object.method("测试");
- object.method("abc");
- object.method("abc bbc ");
为了识别无效用例,我使用了以下正则表达式: 引用:[正则表达式] ( https://regex101.com/r/fR5eF4/3 )
是否可以进一步优化上述正则表达式(或)任何其他性能更好的表达式。
最佳答案
我来了
.(method)\s*\((?![\"\'](abc|bbc|abc bbc|der|der abc)[\"\'])
所以我刚刚将 ' 和 "从这个 (x|x|x) 组中移出,以使事情更清楚
另外 - 您可以添加/g 修饰符进行测试并将所有数据放入文本框中。
这是链接:https://regex101.com/r/oT4nN3/1
关于javascript - 需要更好的正则表达式来匹配文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959928/