我是新來的正則表達式。正則表達式匹配字符串agasint模式
我想要實現的是檢查一個字符串文本是否符合以下模式。
"xxx(name="yyy", country="yyy")"
編輯: xxx可以是任意長度的字母或數字,但必須以字母開頭。 yyy可以是任何長度的任何字符。 「,」和「country」之間可以有零個或任意數量的空白。
例如,下面是一個有效的字符串
"TargetVal(name="White House", country="US")"
以下字符串是無效
"TargetVal(name="White House", country="US")+546+!!!"
"343TargetVal(name="White House", country="US")"
"!TargetVal(name="White House", country="US")"
"CenterVal(name="Green House",789808 country="US")"
"CenterVal(name="Green House", country="US", dfjl)"
"OuterVal(name=Green House, country="US")"
以下是我在C#中迄今所做
var formula = @"TargetVal(name=""White House"", country=""US"")";
var pattern = @"\w\(name=""\w"",\sccy=""\w""\)";
ismatching= Regex.IsMatch(formula, pattern, RegexOptions.IgnoreCase);
顯然這不符合所有的規定。有人可以提供一些提示嗎?
正則表達式字符類,如'\ s'和'\ w'嚴絲合縫一個字符,除非添加改性劑。因此,在您的示例中,您只需查找一個字符,恰好就是一個空格,依此類推。使用修飾符如'*'(匹配0或更多)和'+'(匹配一個或多個)。 – duncan
建立正則表達式的一種方法,特別是如果你剛剛入門,就是從你的完全匹配字符串開始。確保它匹配成功。然後開始用正則表達式替換常量值。 – duncan
謝謝,這是一個非常有用的建議 – wd113