当前位置: 首页 > 面试题库 >

在.NET中从带有正则表达式的字符串中提取令牌

芮立果
2023-03-14
问题内容

我很好奇正则表达式是否有可能。我想从类似于以下内容的字符串中提取令牌:

Select a [COLOR] and a [SIZE].

好的,很简单-我可以使用 (\[[A-Z]+\])

但是,我也想提取标记之间的文本。基本上,我希望以上的匹配组为:

"Select a "
"[COLOR]"
" and a "
"[SIZE]"
"."

最好的方法是什么?如果可以使用RegEx做到这一点,那就太好了。否则,我猜测我必须提取令牌,然后手动遍历MatchCollection并根据每个Match的索引和长度解析出子字符串。请注意,我需要保留字符串和标记的顺序。有没有更好的算法来进行这种字符串解析?


问题答案:

使用Regex.Split(s, @"(\[[A-Z]+\])")-它应该为您提供精确的阵列。拆分将捕获的组转换为结果数组中的标记。



 类似资料:
  • 我试图从一个大字符串中提取几个值,我很难提取它们,我厌倦了一些正则表达式模式,但它们总是给我不匹配的结果。无论如何,它们似乎在可用的在线正则表达式站点中有效,但在Scala中无效。我想做的是 输入: ESStor \磁盘 提取[输出]: 供应商名称 MO_May_MS_5.0 08765J54U3K4QVR0 我试图从输入字符串中提取这三个值,但无法做到。 有人能让我看看我做错了什么吗? 提前谢谢

  • 问题内容: 我需要从此字符串中提取日期: BB通知:在04/10的11:28购买您的壁虱,最终卡号xxxx,$ 00,00。如果您不认识,请致电40032 2412。 也是整个日期04/04/2015 日期格式为dd / MM或dd / MM / yyyy 代码: String mydata =“ BB告知:在04/10的11:28,购买您的tickect,最终卡号xxxx,$ 00,00。如果您

  • 问题内容: 在一个应用程序中,我得到了包含IP地址的字符串,但是这些字符串没有精确的格式。我们所知道的是,这些字符串可能包含IP地址。 这是字符串的示例: “ XPSPort” “ IP_10.29.167.187” “ 10.29.166.193” 我想获得一个Java代码,如果有一个Java代码,则提取该字符串的IP地址;如果该字符串不包含IP地址,则返回“”。 我尝试了这段代码,但它不起作用

  • 问题内容: 我需要从字符串中提取: 使用Java语言中的正则表达式。 有人可以帮帮我吗?我是第一次使用正则表达式。 问题答案: 尝试

  • 问题内容: 我有这串 并且我需要提取这3个子字符串 1234 06:30 07:45 如果我使用此正则表达式\\ d {2} \:\\ d {2}我只能提取第一个小时的06:30 matcher.group(1)引发异常。 另外我也不知道如何提取1234。此字符串可以更改,但总是在’XX〜’之后 。您对如何将这些字符串与正则表达式匹配有任何想法吗? 更新 多亏了亚当的建议,我现在有了这个正则表达式

  • 我需要从字符串中提取一个4位数字: e、 g“您登录的otp是7832。此代码将在12:43:09PM”在Android短信中过期” 我想提取7832或字符串中的任何4位代码。我确保字符串中只有一个4位代码。 请帮帮我。我试图使用这样的模式: 但我不太懂正则表达式。

  • 我想为C中的一些字符串创建一个正则表达式。 这就是我目前的情况: C中的字符串由双引号(")分隔,因此正则表达式必须由 \" \". 字符串可能不包含换行符,因此我需要执行[^\n](我想)。 字符串还可能包含双引号或反斜杠字符,如果且仅当它们被转义时。因此[\\\”](我想也是这样)。 除此之外,什么都可以。 任何帮助是非常感谢我有点迷失了如何开始写这个正则表达式。

  • 我想提取所有“like string”,即。 像“%”12548“%” 例如“%” 例如“%” 例如“%” 例如“%” 我在java当我获取组时,它不会返回正确的结果。请建议。