带有 = 和 ; 的正则表达式
我正在尝试使用正则表达式来查找所有以等号()开头并以分号()结尾的子字符串,其间有任意数量的字符。它应该是这样的东西=
;
=*;
由于某种原因,等价物没有注册。是否有某种转义字符会使正则表达式注意到我的等号?
我正在用Java工作,如果这与这个问题有任何关系的话。
我正在尝试使用正则表达式来查找所有以等号()开头并以分号()结尾的子字符串,其间有任意数量的字符。它应该是这样的东西=
;
=*;
由于某种原因,等价物没有注册。是否有某种转义字符会使正则表达式注意到我的等号?
我正在用Java工作,如果这与这个问题有任何关系的话。
这可能是你要找的。您需要指定要应用星号的字符集或通配符。
"=([^;]*);"
您还可以使用不情愿的量词:
"=(.*?);"
使用括号,您现在有组。我相信第一组是整个匹配项,并且是括号内的组。group[1]
代码可能如下所示:
Regex r = new Regex("=([^;]*);");
Match m = r.Match(yourData);
while (m.Success) {
string match = m.Groups[1];
// match should be the text between the '=' and the ';'.
}
这将查找“任意数量的 = 符号,包括 0”
=*;
如果你想要“=后跟任意数量的其他字符”,你想要
=.*;
但是,这将贪婪地匹配 - 如果你想要懒惰匹配(以便在找到下一个分号时停止一个组),你可能想要:
=.*?;