正斜杠 - 正则表达式java

时间:2015-02-27 03:15:33

标签: java regex

对于字符串x我想匹配单词abc     https:// .... abc ... / .. / ..

  • 确定是否感兴趣

实施例

2)如果字符串是https:// .... xyz ... / abc / mnk - >字符串不感兴趣

3)或字符串是https:// .... xyz ... / mnk / abc - >字符串不感兴趣

用于正斜杠匹配

Regex to match both slash in JAVA

http://bug-bounty.blogspot.com/2013/01/java-regex-forward-slash.html

为了匹配正斜杠我试过\在partern之下,我试过

    a) x.matches("https://(.*)oem(.*)/(.*)"
    b) x.matches("https:\\/\\/(.*)oem(.*)\\/(.*)"
    c) x.matches("https://(.*)oem(.*)\/(.*)"  --> errors 
    d) x.matches("https://(.*)oem(.*)/(.*)/(.*)") --> works 

甚至认为d)有效a)和b)都失败了条件二 - 这意味着我没有正确理解事物。我错过了什么?

1 个答案:

答案 0 :(得分:0)

(以下项目与您链接的来源的部分信息重复)

  • matches匹配整个字符串。因此d)适用于你的输入,而c)没有。
  • 你不需要向前冲去斜线。但是,如果你在正则表达式模式中执行转义字符,你必须加倍你通常写的每个反斜杠 - 一次用于字符串,一次用于正则表达式解释器。
  • 假设您想要匹配https网址的域部分中感兴趣的子字符串,更强大的regexen将解释这一点:

    https://[^/]*oem[^/]*(/.*)?

如果您事先知道网址中位置部分的(静态)深度,则可以安全地应用模式d)(准确反映网址中/的已知数量。)