首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式选择了一个匹配项,但看不到另一个匹配项

正则表达式选择了一个匹配项,但看不到另一个匹配项
EN

Stack Overflow用户
提问于 2012-07-28 20:42:04
回答 2查看 64关注 0票数 0

我有一个正则表达式,它应该*拾取字符串中的结果:

输入字符串:

代码语言:javascript
复制
Vmid        Name                             File                           Guest OS       Version   Annotation
3      TinyCore Linux   [datastore1] TinyCore Linux/TinyCore Linux.vmx   otherLinuxGuest   vmx-08
4      Debain6          [datastore1] Debain6/Debain6.vmx                 ubuntu64Guest     vmx-08

正则表达式:

代码语言:javascript
复制
[]][ A-Za-z /.]+.vmx [ ]

正则表达式匹配字符串的以下部分:

代码语言:javascript
复制
] TinyCore Linux/TinyCore Linux.vmx

但是is也应该匹配:

代码语言:javascript
复制
] Debain6/Debain6.vmx

我的代码如下:

代码语言:javascript
复制
private void regexTest_Click(object sender, EventArgs e)
{
    Regex regex = new Regex("[]][ A-Za-z /.]+.vmx [ ]");
    MatchCollection match = regex.Matches(input);

    foreach (Match matchvalue in match)
    {
        MessageBox.Show(matchvalue.ToString());
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-28 20:46:54

你丢失了数字\d

您的正则表达式:[]][\dA-Za-z /.]+.vmx [ ]

和我的升级\][\dA-Za-z\s/.]+\.vmx

票数 2
EN

Stack Overflow用户

发布于 2012-07-28 20:52:59

尝试使用类似的内容,下面的表达式将匹配]和.vmx之间的每个类型字符

代码语言:javascript
复制
\](.+?)\.vmx

或者像]word/word.vmx这样的模式,请尝试

代码语言:javascript
复制
\](.+)?\/(.+?)\.vmx

或常规(.)替换为特定的匹配字符

代码语言:javascript
复制
\]([a-z0-9A-Z-_\s\/]+)?\.vmx

您可以通过http://gskinner.com/RegExr/轻松测试正则表达式输出

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11701114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档