使用正则表达式查找字符模式
Find character pattern using regex
我正在尝试查找所有出现的特殊字符 /
并被字母或数字包围。
经过多次尝试,我想出了以下几乎可以满足我需要的正则表达式:
(?![a-z0-9])\/(?=[a-z0-9])
这适用于这些示例:
aa/aa
123/123
aa/123
但是,如果有两个正斜杠在一起,则失败:
http://regexr.com/
在这种情况下,它与我不想要的 http
之后的第二个正斜杠相匹配。
如何修改此 Regex 以满足我的需要?
编辑: 我不 想要在两个正斜杠在一起时进行匹配。我只想匹配单个正斜杠被字母数字字符包围的情况。
试试这个
(!?[a-z0-9])\/(?=[a-z0-9])
简单!
(?![a-z0-9])\/+(?=[a-z0-9])
您应该将 +
设置为 1 次出现的字符。所以你应该写 \/+
而不是 \/
.
你需要一个积极的回顾组,像这样:
(?<=[a-z0-9])+\/{1}(?=[a-z0-9]+)
但是,根据 http://regexr.com/,它在 javascript 中不受支持。
在例如pythonhttp://pythex.org/
试试这个
[a-z0-9](\/)[a-z0-9]
我正在尝试查找所有出现的特殊字符 /
并被字母或数字包围。
经过多次尝试,我想出了以下几乎可以满足我需要的正则表达式:
(?![a-z0-9])\/(?=[a-z0-9])
这适用于这些示例:
aa/aa
123/123
aa/123
但是,如果有两个正斜杠在一起,则失败:
http://regexr.com/
在这种情况下,它与我不想要的 http
之后的第二个正斜杠相匹配。
如何修改此 Regex 以满足我的需要?
编辑: 我不 想要在两个正斜杠在一起时进行匹配。我只想匹配单个正斜杠被字母数字字符包围的情况。
试试这个
(!?[a-z0-9])\/(?=[a-z0-9])
简单!
(?![a-z0-9])\/+(?=[a-z0-9])
您应该将 +
设置为 1 次出现的字符。所以你应该写 \/+
而不是 \/
.
你需要一个积极的回顾组,像这样:
(?<=[a-z0-9])+\/{1}(?=[a-z0-9]+)
但是,根据 http://regexr.com/,它在 javascript 中不受支持。
在例如pythonhttp://pythex.org/
试试这个
[a-z0-9](\/)[a-z0-9]