当前位置: 首页 > 面试题库 >

正则表达式以http://,https://或ftp://开头

尉迟越
2023-03-14
问题内容

我正在建立正则表达式以检查单词是否以http://https://或开头ftp://,我的代码如下,

     public static void main(String[] args) {
    try{
        String test = "http://yahoo.com";
        System.out.println(test.matches("^(http|https|ftp)://"));
    } finally{

    }
}

它打印false。我还检查了Regex之后的
stackoverflow,以测试字符串是否以http://或https://开头

正则表达式似乎是正确的,但为什么不匹配?我甚至尝试^(http|https|ftp)\://^(http|https|ftp)\\://


问题答案:

您需要在此处进行 完整的输入 匹配。

System.out.println(test.matches("^(http|https|ftp)://.*$"));

编辑
:(基于@davidchambers的评论)

System.out.println(test.matches("^(https?|ftp)://.*$"));


 类似资料:
  • 问题内容: 我试图设置一个正则表达式,它将检查字符串的开头,以及是否包含其中一个http://或https://应与之匹配的字符串。 我怎样才能做到这一点?我正在尝试以下不起作用的方法: 问题答案: 您对的使用[]不正确-请注意,它[]表示一个字符类,因此只能匹配一个字符。该表达式[]翻译为“匹配a (,或 s。(重复的字符将被忽略。) 试试这个: 如果您确实要使用交替,请改用以下语法:

  • 问题内容: 我需要一个不以点开头或不以开头的正则表达式。 此正则表达式有效,但在第一个条件下失败;它不以点开头: 例如:应为有效字符串,但失败。 问题答案: 从上一个问题开始,您应该可以使用: 但是,如果您希望能够匹配1个字符串,则需要否定先行: 而且,如果您也想匹配空字符串,只需使用代替即可。

  • 问题内容: 假设我想要一个正则表达式,使其与“从iPhone发送”和“从iPod发送”都匹配。我该如何写这样的表达? 我尝试过类似的事情: 但似乎不起作用。 问题答案:

  • 我正在尝试使用python中的正则表达式。我构建了正则表达式,如下所示。我知道用于匹配搜索字符串的开头。我已使用包含多个的匹配模式构建框架,但我不确定将如何尝试匹配搜索字符串中的模式。 我预计会引发错误,关于无效的正则表达式,但它不会引发任何错误,也不会返回任何匹配项。 所以,我的问题是或是有效的正则表达式吗?

  • 问题内容: 正则表达式可以匹配空格 或 字符串的开头吗? 我正在尝试用英镑符号替换缩写为GBP的货币。我可以匹配任何以GBP开头的东西,但我想更加保守一些,并在它周围寻找某些定界符。 我可以同时做后两个例子吗? 问题答案: 使用OR“ ”运算符:

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?