我有以下succestring
|User=gmailUser1|login with password=false|addition information=|source IP location=DE|
我想在钥匙值对中提取所有管道之间的所有内容。在这种情况下
- 用户= gmailuser1
- 使用密码登录= false
- 加法信息=
- 来源IP位置= de
我的正则表达式为我提供了整个字符串。
|(b+)=(b+)|
尝试表达式:
/|([^=|]+)=([^|]*)/g
,或者如果您只想要图案:
|([^=|]+)=([^|]*)
根据您的环境,您将能够为每个键值对捕获第1组和第2组的捕获。
(我现在无法对其进行测试。)
更新1:我进行了简短的测试,并通过优化Wiktor stribizew进行了调整。
更新2:所使用的正则说明的简短说明:
模式中的 b
表示 word boundare ,不代表符号。您不能将其与+
结合使用。另请参阅什么是boudary。
第一组([^=|]+)
与至少一个字符的=
或|
匹配。
第二组([^|]*)
匹配任何不是零或更多字符的=
(addition information
具有空值)。
尝试以下:
w+(=|s|w+)
这场比赛:
w+
= numletter chars和匹配组
(=|s|w+)
= a =
唱歌,空白空间或另一个numletter组