正则表达式命名为Capture Group的替代方案,带有$符号

时间:2019-01-15 04:55:05

标签: python regex

我有两组web和​​var,并具有以下替代字符串:aliceblue,yellowblue和$ aliceblue,$ yellow

我能够在组Web中获得aliceblue和yellow的匹配项,但在组var中却无法获得$ aliceblue或$ yellow的匹配项。

re = '/(?x)(?i)(?<![@#$.\-_])(?:\b(?P<var>$aliceblue|$yellow)\b(?!\()|\b(?P<web>aliceblue|yellow)\b(?!\())(?![@#$.\-_])/m';
str = 'aliceblue';

我试图逃脱$字符而没有成功

re = '/(?x)(?i)(?<![@#$.\-_])(?:\b(?P<var>\$aliceblue|\$yellow)\b(?!\()|\b(?P<web>aliceblue|yellow)\b(?!\())(?![@#$.\-_])/m';
str = '$aliceblue';

如何更改正则表达式,以便在组var中获得$ aliceblue和在组Web中获得aliceblue的匹配项?

1 个答案:

答案 0 :(得分:0)

除了在正则表达式中转义$之外,还需要去除\b之前的内容,因为$不是单词\w的一部分, [a-zA-Z0-9 _]

Check this demo with \b removed from your regex