用正則表達(dá)式表示不包含2950的字符串
更新時間:2009年09月07日 11:16:21 作者:
或者說有一條命令 hostname [string],當(dāng)string是不包含2950時,是true,包含2950時是false。
使用Excel中的VBA測試如下(匹配式為:^((?!2950).)*$):
Sub Regs()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.regexp")
Dim s, mat
s = "399295078"
RegEx.Pattern = "^((?!2950).)*$"
RegEx.Global = True
MsgBox RegEx.test(s)
Set RegEx = Nothing
End Sub
如果匹配2950,則返會false,否則為true。
其中,(?!2950)表示不匹配2950,
而^表示匹配字符串的開始位置,
.表示匹配除 "\n" 之外的任何單個字符,
$表示匹配字符串的結(jié)束位置,
*表示匹配前面的子表達(dá)式零次或多次。
整個匹配式連起來就是:匹配空值或者匹配不含2950的字符串。
其中(?!2950)后面必須加一個“.”,那么(?!2950).表示不含2950且至少有一個字符。其實整個就是(?!2950)和(.)*的組合,(.)*表示空串或者任意一個串(不包含\n)。
Sub Regs()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.regexp")
Dim s, mat
s = "399295078"
RegEx.Pattern = "^((?!2950).)*$"
RegEx.Global = True
MsgBox RegEx.test(s)
Set RegEx = Nothing
End Sub
如果匹配2950,則返會false,否則為true。
其中,(?!2950)表示不匹配2950,
而^表示匹配字符串的開始位置,
.表示匹配除 "\n" 之外的任何單個字符,
$表示匹配字符串的結(jié)束位置,
*表示匹配前面的子表達(dá)式零次或多次。
整個匹配式連起來就是:匹配空值或者匹配不含2950的字符串。
其中(?!2950)后面必須加一個“.”,那么(?!2950).表示不含2950且至少有一個字符。其實整個就是(?!2950)和(.)*的組合,(.)*表示空串或者任意一個串(不包含\n)。
相關(guān)文章
讓editplus3 函數(shù)模板完全顯示函數(shù)
我是常常使用editplus ,主要是它啟動快,文件小,自定義代碼,綠色。發(fā)現(xiàn)當(dāng)用他打開php有一個快捷鍵ctrl+F11可以打開函數(shù)列表,也就是文件內(nèi)所有的函數(shù)名會顯示在列表中,雙擊會選中函數(shù),非常方便2012-10-10Python使用正則表達(dá)式去除(過濾)HTML標(biāo)簽提取文字功能
這篇文章主要介紹了Python使用正則表達(dá)式去除(過濾)HTML標(biāo)簽提取文字,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07asp.net(c#) 使用Rex正則來生成字符串?dāng)?shù)組的代碼
我們在項目中,經(jīng)常要使用正則表達(dá)式,現(xiàn)在有一個工具可以按正則表達(dá)式生成數(shù)據(jù).正則表達(dá)式的語法忘記了嗎?2010-05-05計算一個字符串在另一字符串中出現(xiàn)的次數(shù)函數(shù)
計算一個字符串在另一字符串中出現(xiàn)的次數(shù)函數(shù)2008-03-03學(xué)習(xí)正則表達(dá)式30分鐘入門教程(第二版)
30分鐘內(nèi)讓你明白正則表達(dá)式是什么,并對它有一些基本的了解,讓你可以在自己的程序或網(wǎng)頁里使用它2007-03-03