正则表达式括号

时间:2013-04-09 11:16:32

标签: regex

我在Regex中遇到问题,URL没有匹配:

Sound/ranzor%20S001/sound,ranzor%20S001,245--40%20ZR20%20(95Y),TL,AMR

正则表达式的表达是:

((.+?)/(.+?)/.+?,.+?,(\d+)--(\d{1,3})%\d{2}R(\d{1,3})%\d{2}|(\d{1,3}\w).*)

问题是(95Y)

感谢。

解决方案:

((.+?)/(.+?)/.+?,.+?,(\d+)--(\d{1,})%\d{2}.?.?(\d{1,})%\d{2}\((\d{1,})(\w{1}).*)

解决方案是逃避“(”

2 个答案:

答案 0 :(得分:2)

试试这个正则表达式:

/((.+?)/(.+?)/.+?,.+?,(\d+)--(\d{1,3})\%\d{2}R(\d{1,3})\%\d{2}|\(\d{1,3}\w\).*)/

您需要转义%()。 为此,请在它们之前添加反斜杠

答案 1 :(得分:2)

中间R应更改为ZR。另外我不明白为什么你使用OR(|)模式,我删除了它,然后括起来:

(.+?)/(.+?)/.+?,.+?,(\d+)--(\d{1,3})%\d{2}ZR(\d{1,3})%\d{2}\((\d{1,3}\w)\).*