2012-08-16 73 views
1

我需要RegEx排除不區分大小寫的完全匹配(整個字符串)。如果整個字符串是「美國」(不區分大小寫),那麼我需要拒絕字符串。如果只有部分字符串包含「美國」(不區分大小寫),那麼它很好。正則表達式排除精確的多字匹配

我還需要字符串的最小長度爲6個字符,如果它小於6,它需要拒絕字符串。

由於單詞之間存在空格,因此我遇到了麻煩,因爲我只需排除該字符串的精確匹配而不是部分匹配。

這是用於vBulletin,我只允許這種形式的單線正則表達式。

+0

(http://whathaveyoutried.com) – tuxtimo 2012-08-16 10:47:50

回答

3

你的要求仍然是一個有點模糊,但儘量

^(?i)(?!United States$).{6,}$ 

看到它here on Regexr

^錨字符串的開始

$錨字符串的結尾

(?i)內嵌選項,使正則表達式不區分大小寫

(?!United States$)排除模式,使整個表達式失敗,如果字符串是從開始到結束只有「美國」

.{6,}比賽6個或更多字符

+0

謝謝,這似乎按預期方式工作! – ctrlbrk 2012-08-16 11:42:09

0

爲什麼正則表達式?

我做(在Perl):[?你嘗試過什麼]

reject() if (uc($str) eq 'UNITED STATES' or length($str) < 6);