寻求一些C#RegEx帮助我正在尝试创建一个RegEx表达式,它将成功解析以下行:"57""testing123"8216#1326blahblahme想要的是能够识别行中的数字。目前,我正在使用的是:[0-9]+解析得很好。但是,如果数字用引号引起来,如果“57”是或类似“testing123”的东西,我不希望它匹配。除此之外,井号('#")之后的任何内容,我都不想匹配井号之后的任何内容。所以在这个例子中,我应该得到的匹配是“82”和“16”。没有其他匹配。对此的任何帮助将不胜感激。构建3个不同的正则表达式然后创建组合它们的逻辑应该更容易:检查字符串是否有#,并忽略它后面的所有内容内容。检查所有匹配项“d+"并忽略所有匹配项检查为匹配项[0-9]留下的所有内容+.Net正则表达式可以轻松解析此字符串。在评论之前,以下模式应匹配所有内容:A#Startofthestring(?>(?#带引号的字符串""#打开引号[^""\]*#非引号或反斜杠(?:\.[^""\]*)*#但允许转义字符""#关闭引号)|(?#Anumberd+#somedigits)|s+#Whitespaceseparator)*如果您还想匹配注释,请添加:(?#.*)?z您可以使用“Number”组的所有捕获在一次匹配中获取您的数字:Matchparsed=Regex.Match(s,pattern,RegexOptions.IgnorePatternWhitespace);CaptureCollectionnumbers=parsed.Groups["Number"].Captures;missingthis此模式主要是不带引号的字符串标记,例如,这可能会增加一些复杂性,具体取决于我们希望它如何工作。以上就是C#学习教程:想要一些C#RegEx帮助分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
