当前位置: 首页 > 知识库问答 >
问题:

将字符串标记化的正则表达式

凌展
2023-03-14

我有一个序列化的对象,看起来像这样(不包括倒逗号):

“Key1:Value1,Key2:Value2,Key3:Value3'

它也可能是这样的:

“Key1:Value1,Key3:Value3'

“Key1:Value1”

“|”(可能为空)

在这一点上,我使用了这个标记化逻辑来分解这个字符串(这有点冗长)。是否有一个单一的正则表达式可以帮助我提取给定键的值(或返回null)给定上面的任何字符串?

共有1个答案

蒋胡非
2023-03-14

关键字匹配是直接的,如果你知道确切的边界。在本例中,使用单个撇号作为字符串边界,使用逗号作为分隔符。因此,这是匹配给定键值的正则表达式(基于您的输入示例):

(?<=key1\:).+?(?=,|'|$) --> finds 3 "value1" matches
(?<=key2\:).+?(?=,|'|$) --> finds 1 "value2" match
(?<=key3\:).+?(?=,|'|$) --> finds 2 "value3" matches
(?<=key4\:).+?(?=,|'|$) --> no match
 类似资料:
  • 我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?

  • 我有一根下面这样的弦 现在我希望我的程序验证我的输入是否与字符串“phone”的模式相同 我做了以下工作 没奏效。我也尝试了其他的组合。什么都不起作用。 问题:1。我怎样才能做到这一点,而不使用‘模式’像上面?2.如何用图案做到这一点。我尝试了如下模式 Pattern Pattern=Pattern.compile(“(\d+)”);Matcher match=pattern.Matcher(电话

  • 本文向大家介绍正则表达式优化JSON字符串的技巧,包括了正则表达式优化JSON字符串的技巧的使用技巧和注意事项,需要的朋友参考一下 json字符串很有用,有时候一些后台接口返回的信息是字符串格式的,可读性很差,这个时候要是有个可以格式化并高亮显示json串的方法那就好多了,下面看看一个正则表达式完成的json字符串的格式化与高亮显示 首先是对输入进行转换,如果是对象则转化为规范的json字符串,不

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

  • 我有一根绳子,看起来像这样:

  • 相比较于第一章变量的声明,这一章的内容有了一点深度提升,但还不至于很难理解。本章主要讲2个知识点,字符串、正则表达式 字符串 字符串(String)是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol(es6新增)。 字符串类型在前端开发者,是使用最频繁的类型之一,网站上可见的各种文案,几乎都是字符串类型的数据。我们经常需要