如何创建一个正则表达式来检查给定字符串中是否存在一组单词?

时间:2011-08-23 05:29:50

标签: regex

如何编写正则表达式来检查给定字符串中是否存在一组单词?

例如,我想检查一下域名是否包含“yahoo.com”。

'answers.yahoo.com',有效。
'yahoo.com.answers',会错的。 'yahoo.com'必须到最后。

我从某个地方得到了一个提示,可能是这样的。

"/^[^yahoo.com]$/"

但我对正则表达式完全不熟悉。所以请帮助这个,然后我可以进一步学习。

1 个答案:

答案 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$/

(粗略,第一次通过)

对于其他排列,请澄清问题。