精华内容
下载资源
问答
  • 正则表达式匹配URL

    2021-03-11 17:13:23
    最近在做一些关于URL匹配的项目,本来对正则表达式了解的不多,上网搜索了好多前辈写的正则表达式,发现很少能被我使用的,现将我自己写的正则表达式贴出来,供大家参考。%%首先,正则表达式:String check = @"(...

    最近在做一些关于URL匹配的项目,本来对正则表达式了解的不多,上网搜索了好多前辈写的正则表达式,发现很少能被我使用的,现将我自己写的正则表达式贴出来,供大家参考。

    %%

    首先,正则表达式:

    String check = @"((http|ftp|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)?";

    关于该正则表达式的说明:

    ①:该正则表达式匹配的字符串必须以http://、https://、ftp://开头;

    ②:该正则表达式能匹配URL或者IP地址;(如:http://www.baidu.com 或者 http://192.168.1.1)

    ③:该正则表达式能匹配到URL的末尾,即能匹配到子URL;(如能匹配:http://www.baidu.com/s?wd=a& rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg& inputT=1236)

    ④:该正则表达式能够匹配端口号;

    阻止某些指定的URL:

    如果我们在输入的文本框中要阻止http://www.baidu.com这个URL,传统的方法是用上面的正则表达式去匹配文本框中的URL,读

    出所有的URL之后在跟要阻止的URL去比较,但是这种方法有一个弊端,就是我们读出的URL是一直到子URL,而我们在配置文件中可能就写一个母

    URL,这样要对check出来的URL进行切割,加上网站默认的端口号是:80,我们要去比较端口号等等,我想出了一种新的方法:

    从配置文件中读出要阻止的URL,组成一个正则表达式,去匹配文本框中,如果能够匹配到,则阻止掉。

    配置文件中应该写:

    在代码中实现:

    现在一个正则表达式由3部分组成:

    1:正则表达式的开头,可能由任意的字符组成;

    2:正则表达式的中间部分:从配置文件中读出来的部分;

    3:正则表达式的结尾部分:可能有一些子目录或者端口号等;

    首先,从配置文件中读出URL:string[] serverlist = ConfigurationManager.AppSettings["DomainCheckBlackUrl"].Split(',');(配置文件中以“,”分割)

    其次,string start = @"((http|ftp|https)://)([a-zA-Z0-9_-]+\.)*";(正则表达式的开头)

    然后,正则表达式的结尾: end = @"(:[0-9]{1,4})?((/[a-zA-Z0-9\&%_\./-~-]*)|(?=[^a-zA-Z0-9\.]))";

    组合之后的正则表达式: string check = start + @"((?<=[^a-zA-Z0-9])(" + CutStr + "))" + end;

    展开全文
  • 求一个java正则表达式,匹配url 要求:http://www.baidu.com https://www.baidu.com //www.baidu.com 这3中情况都能匹配。 谢谢了
  • java匹配url网址正则表达式

    千次阅读 2020-04-13 17:05:29
    java中对url校验的正则表达式如下: String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?"; 这里的“\\\\”四个...

    java中对url校验的正则表达式如下:

    String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?";

     

    这里的“\\\\”四个斜杠,被解释后实际上是一个斜杠。

    1. java将“\\”解析为“\”
    2. 所以“\\\\”,java将会解析为“\\”交给正则表达式
    3.  正则表达式再经过一次转换,把\\转换成为\

    所以,java里面要用正则来表示一个\, 必须写成4个\ 。如果要表示\\,那就要写8个\

     

    public static boolean isUrl(String urls) {
            if(StringUtils.isBlank(urls)) {
                return  true;
            }
            String regex = "(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\&%\\+\\$#_=]*)?";
    
            Pattern pat = Pattern.compile(regex);
            Matcher mat = pat.matcher(urls.trim());
            boolean result = mat.matches();
            return result;
        }

     

    展开全文
  • 匹配URL的正则表达式(推荐)

    千次阅读 2021-03-06 03:11:41
    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。则表达式:var match = /^((ht|f)tps?):\/\/[\w\-]+...

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

    则表达式:

    var match = /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?$/;

    匹配:

    (1)、直接匹配域名地址:

    var matchString = 'https://i.cnblogs.com/';

    console.log(match.test(matchString)); // ==> true

    (2)、匹配链接含(*.htm,*.html,*.php,*.aspx...)后缀的地址:

    var matchString = 'https://i.cnblogs.com/EditPosts.aspx';

    console.log(match.test(matchString)); // ==> true

    (3)、匹配含参数的地址:

    var matchString = 'https://i.cnblogs.com/EditPosts.aspx?opt=1';

    console.log(match.test(matchString)); // ==> true

    使用说明:

    (1)、地址必须以http/https/ftp/ftps开头;

    (2)、地址不能包含双字节符号或非链接特殊字符。

    以上所述是小编给大家介绍的匹配URL的正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    展开全文
  • public static void main(String[] args) {URI uri = URI.create("hdfs://cdh-master:8020");FileSystem hdfs = null;Path path = new Path("/hiaAnalyticsService");try {hdfs = FileSystem.get(uri, conf, "hdfs")...

    public static void main(String[] args) {

    URI uri = URI.create("hdfs://cdh-master:8020");

    FileSystem hdfs = null;

    Path path = new Path("/hiaAnalyticsService");

    try {

    hdfs = FileSystem.get(uri, conf, "hdfs");

    FileStatus[] files = hdfs.globStatus(path);

    for (FileStatus file : files) {

    //System.out.println(file.getPath());

    if (file.isDirectory()) {

    RemoteIterator iterator = hdfs.listFiles(file.getPath(), false);

    while (iterator.hasNext()) {

    LocatedFileStatus fileStatus = iterator.next();

    Path fullPath = fileStatus.getPath();

    System.out.println(fullPath);

    }

    } else {

    System.out.println(file.getPath());

    }

    }

    } catch (IOException e) {

    e.printStackTrace();

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    }

    展开全文
  • 正确匹配URL的正则表达式

    千次阅读 2021-03-01 09:00:24
    网上流传着多种匹配URL的正则表达式版本,但我经过试验,最好用的还是从stackoverflow上查到的:(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]IP地址、前后有汉字、带参数的,...
  • 在编写程序时,往往会遇到需要正则表达式匹配多行的情况,在网上看了好多方法,猛回头,突然发现多行是可以设置的,代码如下。 [code="java"] package com.my.test; import java.io....
  • 通用的uri匹配方式

    千次阅读 2018-07-17 09:50:51
    package ... import java.util.ArrayList; import java.util.List; import org.springframework.util.AntPathMatcher; /** * 作者 : iechenyb&lt;br&gt; * 类描述:get 请求没有 request ...
  • package apps.site3618.ext.childDomian....import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import java.sql.CallableStatement;import java.sql.Connection;import ja...
  • 我试图在Java中使用Daring Fireball Regular Expression for matching URLs,并且我发现一个URL,...我修改了原来的正则表达式以使用Java语法.private final static String pattern ="\\b" +"(" + // Capture 1: entir...
  • Java使用的正则引擎是NFA(非确定型有限状态自动机)。 一个状态可以通过标记了字符或ε的多条边跳转到另一个状态。字符或ε 分别表示读入一个字符或不读入字符可以跳转到另一个状态上,比如遇到表达式的右括号和...
  • 当遇到第一条完全匹配的规则时,匹配成功,得到匹配的规则以及匹配的参数。若不能匹配任何一条规则,则匹配失败。 本题输入的 URL 地址是以斜杠 / 作为分隔符的路径,保证以斜杠开头。其他合法字符还包括大小写英文...
  • 正则表达式获取URL参数

    千次阅读 2021-02-12 21:30:36
    ”后,另一种是跟在“&”后,而看你的例子,这里传进来的URL还可能全是参数,而不包含前面的文件,所以这里又加了一个“^”的条件 二: 表示字符串的开始匹配位置 $表示结束位置 | 表示或的关系 \表示转义符 ?匹配...
  • @Test public void testpoint(){ //. 匹配除换行符以外的任意字符 System.out.println("a".matches(".")); //true System.out.println("\n".matches(".")); //\n 回车 fa
  • 获取url中的参数值//获取url中的参数值function getParameter(name){var reg = new RegExp("(^|...//构建一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg);//匹配目标参数if(r...
  • java url正则表达式

    千次阅读 2017-08-08 11:54:19
    String url1 = "https://www.aa.com";  String url2 = "ftp://www.bb.com";  String url3 = "http://w.cc.com";  String url4 = "vvv";  String url5 = "www.xx.com";  Sy
  • Redis 正则匹配 key值

    2021-02-11 08:05:14
    -u Server URI. -r Execute specified command N times. -i When -r is used, waits seconds per command. It is possible to specify sub-second times like -i 0.1. -n Database number. -x Read last argument ...
  • URI正则表达式

    千次阅读 2010-03-19 16:50:21
    看到一个同事QQ签名上: “(([a-zA-Z][0-9a-zA-Z+\\-\\.]*:)?/{0,2}[0-9a-zA-Z;...问了得知是URI正则表达式,但是java下面由于“\”需要添加转义字符变为“\\”,因此,应该是: “(([a-zA-Z...
  • I use RegexBuddy while working with regular expressions. From its library I copied the regular expression to match URLs. I tested successfully within ... However, when I copied it as Java Stri...
  • java判断左右括号匹配

    2021-03-17 20:03:43
    java判断左右括号匹配[2021-02-10 16:36:55]简介:Java进行正则表达式匹配的方法:首先打开eclipse软件;然后运用d来进行数字的匹配,如果字符串中遇到了空白字符的话,那么可以运用s进行匹配;接着匹配中括号内的...
  • Java 正则解析logback日志

    千次阅读 2019-08-27 16:18:48
    从输出结果来看, 由于第二行日志和笔者自定义的正则匹配模式不匹配, 所以并未做正确解析. { time = '2019-04-01 13:38:20.591' , cost = 0, uri = '/article/1001' , sid = '8BD0EF4739EB58C634D1853B2F7BAF96' ,...
  • 正则表达式(Java

    2021-02-28 12:50:47
    什么是正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。例子:runoo+b,可以匹配 ...
  • /** * 截取完整字符串中的host * @param {String} url 地址 * @returns {String} host */ export const GetHost = (url) => { url = url.match(/https?:\/\/([^/]+)\//i); let domain = '';... if (url &a...
  • 首先了解一下常用正则表达式的语法 \d 数字 \w 数字或者字母 . 可以匹配任意字符 星号* 表示任意个字符 + 表示至少一个字符 ? 表示0或者1个字符 {n} 表示n个字符 {n,m} 表示n-m个字符 \s 表示空白符 括号[] 表示...
  • 正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力。请回想一下,对一个正则表达式模式或部分模式两边添加圆括号将导致这部分表达式存储到一个临时缓冲区中。可以使用非捕获元字符...
  • Nginx Location Uri匹配详解

    千次阅读 2018-09-09 01:39:27
    写在前面的话: 老规矩,先啰嗦几句,输出一下情绪,很久没有深夜写博文了,做了...位过自己,Java研发,会配置简单的Nginx,会用。ctrl+c ctrl+v能解决很多问题 ,但是出了问题还是自己解决不了。很多小伙伴会说...
  • 正则匹配ip地址并替换

    千次阅读 2019-09-18 11:04:53
    正则匹配ip地址并替换 public static String picUrlreplaceIp(String url){ if(!TextUtils.isEmpty(url)){ String patt = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; Pattern r = Pa...
  • Java正则表达式

    2017-01-03 10:19:17
    1. Java正则表达式的使用1.1 典型用法//将一个字符串编译成Pattern对象Pattern p = Pattern.compile("a*b");//使用Pattern对象创建Matcher对象Matcher m = p.matcher("aaaaab");boolean b = m.matches();//返回true...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,366
精华内容 4,546
关键字:

java正则uri匹配

java 订阅