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

时间:2016-04-22 23:24:03

标签: javascript c# regex match string-matching

我试图找到所有出现的字母或数字包围的特殊字符/

经过多次尝试,我提出了以下正则表达式,它几乎可以满足我的需求:

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

这适用于以下示例:

aa/aa
123/123
aa/123

但是,如果有两个正斜杠,则会失败:

http://regexr.com/

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

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

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

4 个答案:

答案 0 :(得分:2)

容易!

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

你应该在出现更多字符时将+加1。所以你应该写\/+而不是\/

答案 1 :(得分:2)

你需要一个积极的外观组,如下:

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

但是,根据http://regexr.com/,javascript不支持。

在例如python http://pythex.org/

答案 2 :(得分:1)

试试这个

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

答案 3 :(得分:0)

试试这个

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

Regex demo

<强>解释
( … ):捕获小组sample
\:转义特殊字符sample