c# - 构建一个不包含您在匹配中查找的第一个和最后一个字符的正则表达式
问题描述
我有以下问题。
这是正则表达式的样子:
var regexTest = new Regex(@"'\d.*\d@");
这是字符串的样子:
var text = "dsadsadsadsa('1.222222@dsadsa'";
这就是我想要的结果:
1.222222
这就是我现在得到的结果......:
'1.222222@
解决方案
'
你想提取和之间的浮点数"
,使用
var text = "dsadsadsadsa('1.222222@dsadsa'";
var regexTest = new Regex(@"'(\d+\.\d+)@");
var m = regexTest.Match(text);
if (m.Success)
{
Console.WriteLine(m.Groups[1].Value);
}
在这里,(\d+\.\d+)
捕获任何 1+ 个数字,.
然后将 1+ 个数字捕获到您可以使用 访问的 Group 1 中match.Groups[1].Value
。但是,只有在匹配时才访问该值,否则您将收到异常(请参阅m.Success
我的演示片段中的部分)。
请参阅正则表达式演示:
推荐阅读
- python - 在 Python 3.8 中,如何从文件中加载图像数据以包含在 JSON 对象中?
- css - 节点 - CSS 文件没有在一个路径上被拾取,但在另一个路径上被拾取
- server - 使用 Next JS 从数据库动态创建静态路由
- javascript - Discord.js 向提及的用户添加自定义角色
- microsoft-graph-api - 使用采用的 displayName 创建图库应用
- r - 如何忽略/跳过在 R 中执行的异常?
- r - 为什么合并不适用于日期值?
- reactjs - 如何渲染作为道具传递的类(反应组件)?
- git - 提交差异缺失/冲突相关?
- c++ - 运行时未定义的符号错误(gcc-linux)