正则表达式匹配字符串与模式

本文关键字:模式 字符串 正则表达式 | 更新日期: 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确实包括它们)。