簡體   English   中英

RegEx排除精確的多字匹配

[英]RegEx to exclude an exact multi-word match

我需要一個RegEx來排除不區分大小寫的完全匹配(整個字符串)。 如果整個字符串是“美國”(不區分大小寫),那么我需要拒絕該字符串。 如果只有部分字符串包含“美國”(不區分大小寫),則可以。

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

由於單詞之間的空格,我遇到了麻煩,因為我只需要排除這個字符串的完全匹配而不是部分匹配。

這是針對vBulletin的,我只允許這個表單的一行正則表達式。

您的要求仍然有點模糊,但請嘗試

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

在Regexr上看到它

^錨定到字符串的開頭

$錨到字符串的末尾

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

(?!United States$)否定前瞻,使整個表達式失敗,如果字符串是從開始到結束只有“美國”

.{6,}匹配6個或更多字符

為什么正則表達式?

我會(在perl中):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM