我想从一个字符串中提取一些字符串,其中KEYs与VALUE分开,冒号(:)和s由逗号(,)分隔.问题是VALUE可以包含逗号.举个例子:
category:information technology, computer,publisher:Elsevier (EV),subject:Ecology, Evolution, Behavior and Systematics
Run Code Online (Sandbox Code Playgroud)
在此示例中,必须提取的KEY包括:类别,发布者和主题.最终结果必须如下:
category = information technology, computer
publisher = Elsevier (EV)
subject = Ecology, Evolution, Behavior and Systematics
Run Code Online (Sandbox Code Playgroud)
我试着写一个递归的正则表达式,但它不起作用:
(category|publisher|subject):(.*?)(?:,(?R)|.?)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助解决这个问题.谢谢.
好吧,如果你可以在字符串的末尾添加一个逗号,我认为这有效:
(\w+):([^:]+),
Run Code Online (Sandbox Code Playgroud)
编辑:
乔纳森库恩是完全正确的:
(\w+):([^:]+)(?:,|$)
Run Code Online (Sandbox Code Playgroud)
这有效
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |