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