正则表达式匹配字符串与模式
本文关键字:模式 字符串 正则表达式 | 更新日期: 2023-09-27 18:04:38
我是正则表达式的新手。
我想要存档的是检查字符串文本是否与以下模式匹配。
"xxx(name="yyy", country="yyy")"
编辑:XXX可以是任意长度的字母或数字,但必须以字母开头。Yyy可以是任意长度的任意字符。","answers"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);
显然,它并没有违反所有指定的规则。有人能给点提示吗?
您可以使用以下正则表达式:
var rgx = new Regex(@"(?i)^[a-z][a-z0-9]+'(name="".*?"",'s*country="".*?""')$");
<<p>看到演示/kbd> try var pattern = "^[a-zA-Z][a-zA-Z0-9 ]+''(name='"[a-zA-Z][a-zA-Z0-9 ]+'",''s*country='"[a-zA-Z][a-zA-Z0-9 ]+'"'')$";
我做了一个假设,你的xxx
不仅存在于字母和数字之外,但可能包括空格(因为White House
确实包括它们)。