c# - 正则表达式获取第 n 个值,用斜杠分隔
问题描述
我有一个通用的正则表达式代码,它使用Groups[1]
值来提取结果。sn=(.*?)\.
只需给出一个模式即可轻松提取 SN 和 Ref 。但是例如很难获得,PKSC
并且V928
. 我必须使用Groups[1]
,因为使用此应用程序的用户可以选择自己的值来显示。它可以是NC339
或PKXC
。
//var source = "SN=1395939213.#variable/OGT84/PKXC/Undetermined.Thank You@{customer}"
//sometimes like this
var source = "SN=8029758034.Ref=BFO7Y95B3KN5#resolved/NC339/V928/ClearenceBBF.Brief@{supervisor}/verified"
var value = Regex.Match(source, pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline).Groups[1].Value
解决方案
您可以使用
^(?:[^/]*/){2}([^/]+)
请参阅正则表达式演示。
细节
^
- 字符串的开头(?:[^/]*/){2}
- 出现两次以外的任何字符/
,然后是/
([^/]+)
- 第 1 组:除 . 之外的一个或多个字符/
。
推荐阅读
- python - 我如何在 django 中使用模型对象预先填写表单字段
- android - 如何在android框架[AOSP] java文件(不是Android Studio或Java IDE)中使用像jsoup库这样的外部jar
- c# - 通用参数多个 where 子句问题
- javascript - 将子集合添加到 Firestore
- rust - 如何避免 filter_map() 在 Rust 中给出错误“返回引用当前函数拥有的数据的值”?
- json - 反序列化 json 以查找映射 Android Kotlin 的对象
- python - 停止通过 SSH 运行的远程脚本
- symfony - @Assert\NotBlank 无法识别
- r - 如何在 R 中读取 .rdata 文件
- javascript - 如何在快速搜索中删除区分大小写?`