用于检查字符串是否不应包含某些单词的正则表达式,但是如果这些单词在单词之前带有'to'或'for',则这些单词是可以的

问题描述 投票:0回答:1

我有一个用例,对于给定的字符串,我需要检查该字符串是否不包含'com','。dot'等单词,但是如果这些单词像这样,可以使用这些单词-'for com ''to com''to点'。努力为此编写正则表达式/ javascript函数。

例如:

'maincom','maindot'根据正则表达式模式不可接受

“根据regex模式,可以接受“ main for com”,“ main for dot”,“ main to dot”,“ main to com”

javascript regex reactjs regex-negation
1个回答
0
投票

我想到的不是一个正则表达式,而是一个简短的算法:将字符串拆分为“单词”(由一个或多个非字母字符分隔),生成一个值数组。查看冒犯的单词是否出现在数组中,如果是,则在每种情况下偷看前面的单词以查看它是否为“ to”。

虽然设计正则表达式可能很可能,但我认为调试它并因此对其进行维护将很困难。 (而且,我们面对现实吧……“他们会改变主意,想要一些稍微不同的东西。”)我敢说我建议的方法将“足够快”并且更易于维护。

© www.soinside.com 2019 - 2024. All rights reserved.