.net - 正则表达式在字符串中捕获小数
问题描述
所以我有一个由文本、特殊字符和小数混合组成的字符串:
2018-12-18 00:00:00 : TEXT0 TEXT1 0,123 - TEXT2 1,123 - TEXT3 2,123 - TEXT4 3,123
我对可以捕获的东西感兴趣2,123
。到目前为止,我已经尝试过类似的东西:
(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) : (V04\.10\w+|\w+ ) \w+ \d+,\d{3} - \w+ \d+,d{3} - \w+ (\d+,d{3}) - \w+ \d+,d{3}
但这似乎不起作用。我在这里又捕获了两组,一组用于前面的日期,一组用于前面的日期TEXT0
。他们自己工作得很好。有什么提示吗?
我坐在 .NET 4.5.2 中。
解决方案
似乎您的正则表达式中只有几个拼写错误,您只写d
而不是\d
打算捕获数字,并且在一个地方有多个空格,但您只写了一个空格,因此它不匹配。
从此更改您的正则表达式,
(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) : (V04\.10\w+|\w+ ) \w+ \d+,\d{3} - \w+ \d+,d{3} - \w+ (\d+,d{3}) - \w+ \d+,d{3}
对此,
(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) : (V04\.10\w+|\w+) +\w+ \d+,\d{3} - \w+ \d+,\d{3} - \w+ (\d+,\d{3}) - \w+ \d+,\d{3}
它将按照您的预期开始匹配和捕获数据。
推荐阅读
- ios - 使用 Firebase Auth 使用 Google 登录时,如何在某些视图控制器中提供登录数据?
- python - 如何比较数据框两列中的值
- docusignapi - 文档 | 嵌入式签名 | 发件人如何与收件人/签名者共享“收件人签名 URL”?
- inno-setup - 使用 PrivilegesRequired=admin 从浏览器运行 InnoSetup 安装程序
- sql - 在检查是否需要保留旧值或插入新值时在 postgres SQL 上进行 Upsert 查询?
- java - NavigationComponent 与 BottomNavigationView 项目选择
- javascript - 这样使用flexbox可以吗?
- html - Vue项目中的Bootstrap datepicker显示问题
- javascript - 是否可以将一个功能“分配”给另一个功能?
- javascript - CSSTransition transition-enter-active 事件未按预期工作