cha*_*ama 15 java regex escaping
我正在尝试使用正则表达式来查找以等号(=)开头的所有子串,并以分号(;)结尾,其中包含任意数量的字符.它应该是这样的=*;
出于某种原因,等于没有注册.是否有某种逃避角色会使正则表达式注意到我的等号?
我正在使用Java,如果这个问题有任何影响的话.
jjn*_*guy 21
这可能就是你要找的东西.您需要指定要应用星号的字符集或通配符.
"=([^;]*);"
Run Code Online (Sandbox Code Playgroud)
您还可以使用不情愿的量词:
"=(.*?);"
Run Code Online (Sandbox Code Playgroud)
使用括号,您现在拥有组.我相信第一组是整场比赛,并且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 ';'.
}
Run Code Online (Sandbox Code Playgroud)
这会查找"任意数量的=符号,包括0"
=*;
Run Code Online (Sandbox Code Playgroud)
如果你想要"=后跟任意数量的其他字符"
=.*;
Run Code Online (Sandbox Code Playgroud)
但是,这将贪婪地匹配 - 如果你想要延迟匹配(以便它在找到下一个分号时停止一个组)你可能需要:
=.*?;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45944 次 |
| 最近记录: |