使用正则表达式查找字符模式

问题描述:

我正在尝试查找包含字母或数字的特殊字符/的所有匹配项。使用正则表达式查找字符模式

多次尝试后,我想出了下面的正则表达式,几乎做什么,我需要:

(?![a-z0-9])\/(?=[a-z0-9]) 

这对这些例子中正常工作:

aa/aa 
123/123 
aa/123 

但是,它失败如果有是两个正斜杠在一起:

http://regexr.com/ 

在这种情况下,它匹配第二个正斜杠a我不想要http

如何修改此正则表达式以满足我的需求?

编辑:我做不是想两个正斜线在一起时匹配。如果单个正斜杠被字母数字字符包围,我只想匹配。

+0

那么你一定要重新难道是'http:// regexr.com /'没有被检测为匹配? –

你需要一个积极的回顾后组,就像这样:

(?<=[a-z0-9])+\/{1}(?=[a-z0-9]+) 

然而,根据http://regexr.com/它不是在JavaScript的支持。

在例如蟒蛇http://pythex.org/

试试这个

(!?[a-z0-9])\/(?=[a-z0-9]) 
+0

谢谢你的建议。请参阅我的编辑。 – Sesame

轻松!

(?![a-z0-9])\/+(?=[a-z0-9]) 

您应该将+代入1以更多出现字符。所以你应该写\/+而不只是\/

+0

谢谢你的建议。请参阅我的编辑。 – Sesame

试试这个

[a-z0-9](\/)[a-z0-9] 

Regex demo

说明:
(…):捕获组sample
\:转义特殊字符sample