如何编写正则表达式来检查给定字符串中是否存在一组单词?
例如,我想检查一下域名是否包含“yahoo.com”。
'answers.yahoo.com',有效。
'yahoo.com.answers',会错的。 'yahoo.com'必须到最后。
我从某个地方得到了一个提示,可能是这样的。
"/^[^yahoo.com]$/"
但我对正则表达式完全不熟悉。所以请帮助这个,然后我可以进一步学习。
答案 0 :(得分:1)
在询问正则表达式问题时,请始终指定语言或应用程序!
从您的历史记录看起来最有可能是JavaScript / jQuery。
无论如何,要测试字符串是否以“yahoo.com”结尾,请使用/.*yahoo\.com$/i
在JS代码中:
if (/.*yahoo\.com$/i.test (YOUR_STR) ) {
//-- It's good.
}
要测试一组单词是否至少有一个匹配,请使用:
/word_one|word_two|word_three/
要将匹配限制为最常见的合法子域,以“yahoo.com”结尾,请使用:
/^(\w+\.)+yahoo\.com$/
(粗略,第一次通过)
对于其他排列,请澄清问题。