2016-12-11 36 views
1

例如字符串:a49x // 3iiKZ4:3kk3l匹配字符和数字后//

我想匹配//之间的一切:上面的字符串中的字符。我可以匹配4:它的一部分,但我无法匹配其他字符,因为我无法弄清楚如何匹配//。

这里是我现有的正则表达式:

[A-ZA-Z0-9]:

如果我一开始进入//,它失败。我也试过// \这样的:

// [A-ZA-Z0-9]:

我怎么能这个字符串匹配所以

3iiKZ4

是否退货?我不想返回//或:字符,只有它们之间的字符。

回答

2

您需要用反斜杠将每个斜杠转义,但您还需要在方括号后面添加一个*或+以确保它捕获一个或多个字母或数字。反斜杠需要之前你逃跑的角色,而不是之后。

然后,您可以将括号括起来以将文本捕获为一个组。

这应该为你工作:\/\ /([A-ZA-Z0-9] *):

$ a1将是组ID包含//和之间的字符串:

+0

这是完美的,但它也抓住了//和:这些都超出了价值观。是否有可能返回//中间的所有内容,但不返回这些实际字符?他们只是标识符。 – dingalingchickenwiing

+1

工作原理 - 谢谢!我一直在尝试几个小时来解决它...;) – dingalingchickenwiing