[英]Regex for checking if a string should not contain certain words but those words are ok if they have a 'to' or 'for' preceeding the words
我有一個用例,對於給定的字符串,我需要檢查該字符串是否不包含“ com ”、“ dot ”等詞,但如果它們是這樣的,則可以使用這些詞 - ' for com ' ' com ' '到 dot '。 正在努力為此編寫 regex/javascript 函數。
例如:
'maincom', 'maindot'
根據正則表達式模式不應該被接受
'main for com', 'main for dot', 'main to dot', 'main to com'
根據正則表達式模式應該是可以接受的
根據下面 Jan 的評論回答-
^(?!.*\b(?:for com|to com|for dot|to dot)\b).+
我想到的不是單個正則表達式,而是一個簡短的算法:將字符串拆分為“單詞”(由一個或多個非字母字符分隔),生成一組值。 查看有問題的單詞是否出現在數組中,如果是,請查看每種情況下的前一個單詞,看看它是否是“to”。
雖然它很可能是可能設計出一個正則表達式,我認為這將是難以調試,並從那里來維護它。 (而且,讓我們面對現實吧......“他們會改變主意並想要一些稍微不同的東西。”)我敢說我建議的方法將“足夠快”並且更易於維護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.