c# - 正则表达式 C# - 中间的可选组
问题描述
我有这样的源文本,中间有一个可选组:
GH22-O0-TFS-SFSD 00-1-006.19135
GH22-O0-TFS-SFSD 00-1-006.1.19135
第一种情况下的期望值为“19135”,第二种情况下为“1.19135”。
正则表达式必须匹配整个字符串并选择第一个“。”之后的所有字符。- 这是我的第 1 组。我尝试创建子组并将第 3 组标记为可选,但它不起作用。
正则表达式:
.*\.0*(([0-9])(\.0*([0-9]+)))
应如何更改以捕获所需的值?
解决方案
这应该适合你:
.*?\.(.*)
这将匹配整个字符串并包括捕获组 1 中第一个句点之后的所有内容,无论字符类型如何。
推荐阅读
- python - 如何在递归函数中控制函数调用的次数。即递归函数调用自身的次数
- java - 抽象类和非抽象类中的构造函数
- python - 从列表中删除第三个元素,直到少于 3 个数字
- visual-studio - 桥接 2 个 docker-compose 解决方案?
- java - 为什么从包含实体查询布尔值时@Formula 总是返回 true?
- ios - 如何在一个collectionView中使用多个项目数组?
- c# - 按多个值过滤集合列
- android - 出现键盘时如何修复EditText的缩小
- spring - 如何使用只有 tokenValue 的 OAuth2RestTemplate?
- python - 根据每个像素的位置有效地应用一个函数