我对正则表达式完全是垃圾,所以需要一些帮助!我有一个如下所示的 URI:
/收藏品/文具/彩色-绿色+大号
我想用什么替换绿色(在这种情况下是+)。颜色不一定是绿色,因此可以是蓝色或红色等。它也可以出现在 URI 末尾的任何位置,例如
/收藏品/文具/大号+彩色-绿色
所以它可能并不总是后跟一个+号。
没关系实现这一点的代码我只是在正则表达式之后,即我可以在这里敲击的代码:http ://regexlib.com/RETester.aspx它会匹配正确的模式。
非常感谢
我对正则表达式完全是垃圾,所以需要一些帮助!我有一个如下所示的 URI:
/收藏品/文具/彩色-绿色+大号
我想用什么替换绿色(在这种情况下是+)。颜色不一定是绿色,因此可以是蓝色或红色等。它也可以出现在 URI 末尾的任何位置,例如
/收藏品/文具/大号+彩色-绿色
所以它可能并不总是后跟一个+号。
没关系实现这一点的代码我只是在正则表达式之后,即我可以在这里敲击的代码:http ://regexlib.com/RETester.aspx它会匹配正确的模式。
非常感谢
以下内容将匹配两个 URI 中的“color-green”以及+
第一个 URI 中的以下内容。如果它是不同的颜色,它也会匹配。
colour-\w+\+?
如果您想确保并允许使用十六进制颜色代码,您可以执行以下操作:
colour-[^+]+\+?
用您的 URI 上的任何内容替换上述内容将导致我认为您想要的结果:
.../colour-green+size-large
- .../size-large
.../size-large+colour-green
- .../size-large+
...如果您有不止 2 个变量:
.../shape-square+colour-green+size-large
-.../shape-square+size-large
此外,如果您希望第二个 ( .../size-large+colour-green
) 删除匹配前的“+”而不影响第三个示例中匹配前的“+”。您可以像这样使用负前瞻:
(?:\+(?!.*\+))?colour-[^+]+\+?