請問這個正則表達式的意思是:正則表達式「/ [^ C] /」
$rgx='/[^C]/';
通常這個標誌意味着沒有角色C
但它返回的所有字符串,如果有一個不管匹配C字符或不
這裏是我查了匹配的字符串:
$vec=array('nI like Java%4%','I love PHP','I enjoy C#','I enjoy being paid in $');
請問這個正則表達式的意思是:正則表達式「/ [^ C] /」
$rgx='/[^C]/';
通常這個標誌意味着沒有角色C
但它返回的所有字符串,如果有一個不管匹配C字符或不
這裏是我查了匹配的字符串:
$vec=array('nI like Java%4%','I love PHP','I enjoy C#','I enjoy being paid in $');
的正則表達式包含至少一個CHARAC所有字符串匹配這不是一個C
。這意味着,它將匹配這些字符串
"CCCCCa"
"CC C"
"c"
但它不會匹配任何這些字符串:
"C"
"CCCCCC"
爲了確保整個字符串不包含任何C
,使用^[^C]*$
。它將確保您從頭到尾與^
和$
定位符(注意某些語言中多行字符串的行爲,在Ruby中您可能想用\A[^C]*\z
代替)一致地匹配整個字符串。在字符串內部,它將確保所有字符與[^C]
字符類匹配(即不是C
)。例如,
如何排除包含至少一個「C」字符的所有字符串? –
請參閱我的問題的更新。 –
[^C]
匹配「不是C
」的任何字符,所以它匹配#
在"C#"
中。
如果你想在正則表達式僅匹配,如果沒有C
在字符串中的所有,使用
^[^C]*$
的anchors確保整個字符串匹配,並且[^C]*
只允許(任何數量)非C
字符匹配。
感謝大家。 – user3021621
正則表達式[^C]
表示any character except: 'C'
正則表達式[^C]*
表示
any character except: 'C' (0 or more times(matching the most amount possible))
只是好奇:你用什麼來製作這些圖表? –
@fearless_fool ---使用debuggex。嘗試一下 .. –
這是正確的。唯一不匹配的字符串就是'C','CCCC'或'CCCCCCCCCCCCCCCCCCCCCCC'這樣的值。 – CompuChip
是否有人知道除C#之外的所有字符的正則表達式。 – user3021621
你不需要正則表達式。你可以使用子串匹配。或者你可以使用'/(C#)/'並且否定結果(即,如果正則表達式匹配,則它__具有C#)。 – CompuChip