regex - 如何将一组值与组 1 相匹配

标签 regex pcre

试图解决 SO 中发布的正则表达式问题,但被困在这个问题中。

从此字符串

Ob=Web technology,OB=Product SPe,OB=Dev profile,OB=Computer Management,oB=Hardware Services,cd=sti,CD=com,cd=ws

必须按如下方式删除这些值。

Web technology,Product SPe,Dev profile,Computer Management,Hardware Services

我正在尝试下面的正则表达式。

(?=Ob)(?:(\w+=)([\w\s]+,?))+

我的假设是组 1 应该包含所有键,组 2 应该包含所有值。但除了最后一个键值对之外,所有其他键值对都被分配到组 0

有没有办法将所有值获取到组2

here is what I was working on .

最佳答案

您的正则表达式的问题是 group 1group 2 包含在非捕获组中。这导致整个正则表达式被 group 0 捕获。另一件事是正向前瞻阻止正则表达式进行全局匹配。

下面的正则表达式将收集所有以分组到组1组2

(\w+)=([\w\s]+)(?=[,\s]+)

看看怎么了 works here

关于regex - 如何将一组值与组 1 相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27034688/

相关文章:

Javascript RegExp 用于搜索带有尾随变量的管道(|)或破折号(-)

regex - Glib 正则表达式用于匹配整个单词?

PHP:浏览器版本号 user-agent with Version/x.x.x (Safari & Opera)

regex - 更改日期格式的 PHP 正则表达式

java - 在二进制数字数组中找到最长的系列

javascript - 使用正则表达式匹配字符串中的对象的对象属性

php - 您能解释/简化 PHP 中的正则表达式 (PCRE) 吗?

regex - 将驼峰大写更改为短划线分隔的小写的单个正则表达式

php - ereg_replace 到 preg_replace?

php - 使用正则表达式(或任何其他方式)匹配基本 HTML