正则表达式从字符串C#xamarin.forms.android解析sdcard路径

问题描述

什么是可从以下位置解析sdcard路径的正则表达式?
xxxx 可以是任何数字

我有这样的路径:

mnt/media_rw/xxxx-xxxB/abc.txt

content:/com.android.externalstorage.documents/xxxx-xxxB/abc.txt

XYZ/ABC/football/xxxx-xxxB/scooter/abc.txt

我想提取路径 xxxx-xxxB ,然后提取所有

xxxx-xxxB/abc.txt

xxxx-xxxB/abc.txt

xxxx-xxxB/scooter/abc.txt

我该怎么办?我正在将 xamarin.forms.android csharp 一起使用。
代码示例将不胜感激。

解决方法

您可以使用此基于正则表达式的替换项:

使用捕获组搜索正则表达式:

.*/([0-9]+-[0-9]+[a-zA-Z]/.*)$

替换:

$1

RegEx Demo

RegEx详细信息:

  • .*/:匹配任意长度的字符串,后跟/
  • (...):捕获组#1
  • ([0-9]+-[0-9]+[a-zA-Z]/.*)$:匹配从<digit>+-<digit>+<letter>/开始直到结束的路径。
,

我认为这会对您有所帮助

.{4}-.{4}\/.*+$

这是C#https://rextester.com/MIBL88745的示例 和正则表达式https://regex101.com/r/gQY70e/2