我是一名退休教师,已经开发出一种使用正则表达式自动批改简答科学问题的方法。我使用或多或少需要关键字(A、B、C等)并拒绝禁用单词(X)的标准方法:
/^(?!.*?(X))(?=.*?\b(A))(?=.*?\b(B))(?=.*?\b(C)).{0,150}$/i
我希望能够拒绝基于2个禁词(X和Y)存在,但其中一个或另一个是接受的。
所以A B C;A B C X;A B C Y都会被接受,但A B C X Y会被拒绝。有没有可能做到这一点,并可能超过2个禁词?
顺便说一下,我不太了解正则表达式,我只是使用它!
发布于 2017-02-09 22:14:46
对于正则表达式的第一部分,您可以使用:
(?!(?=.*X)(?=.*Y))
这意味着X
和Y
不能同时存在。
整个正则表达式:
/^(?!(?=.*X)(?=.*Y))(?=.*\bA)(?=.*\bB)(?=.*\bC).{0,150}$/i
https://stackoverflow.com/questions/42138829
复制相似问题