首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则位置匹配之简单运用

写在前面 本文仅对我遇到的一个关于字符串匹配替换的问题所了解到的正则运用做小小的分析记录。不详细介绍正则相关知识。...如果想了解下正则位置匹配相关的内容,实名推荐老姚出品的 https://zhuanlan.zhihu.com/p/27309508。 抛出问题 输入一个url,如果末尾没有/ 的话,需要自动加上。...正则表达式是匹配模式,要么匹配字符,要么匹配位置。—— 老姚 这里很明显是需要匹配位置,然后在匹配到的位置上加上 /。...\/)$/ 这个正则,它匹配的是结尾的位置并且这个位置后面不是 / ,所以最后一个字符无论是不是 / ,都会被再补上一个 / 。...解决 上面的正则确实是匹配了结尾的位置,但问题在于是以“结尾的位置”作为判断条件。 如何以最后一个字符为条件,精准匹配上结尾位置?这里用ES6中的 negative lookbehind ?<!

49640

Java正则匹配空格_js正则表达式匹配空格

解决方案 利用正则表达式来匹配空格 \\s+ 首先利用split(“\\s+”);方法来对字符串切割,尽可能的匹配空格,这里也挺有意思,因为空格数目不一样,可以动态变换匹配的空格数量,这个实现原理可以看看底层原理...String string="a b a a "; for(String a:string.split("\\s+")){ System.out.println(a); } 扩充知识 正则表达式的...() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(\s*)表示连续空格的字符串。 []是定义匹配的字符范围。...比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。...{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s{1,3}表示匹配一到三个空格。 (0-9) 匹配 '0-9′ 本身。

11.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    学习正则(第二天)位置匹配

    Dear,大家好,我是“前端小鑫同学”,长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 正则中的位置就相当于我们数组的下标,标识字符所在的位置,那我们在正则里面用来标示位置的关键字都有哪些呢...匹配开头:脱字符(^) 001. 是否符合开头(匹配正则:/^he/gm 正例:helloworld 反例:worldhello 说明:如下图所示,正例字符串符合已he开头,成功命中。...开头插入字符(替换) 正则:/^/gm 待替换字符:helloworld 替换结果: 02. 匹配结尾:美元符($) 001....命中p的前面位置:(?=p) 正则:/(?=o)/gm 说明:如下图所示,成功找到字符串中每个o前面的位置。 04. 命中除了p前面的其他位置:(?!p) 正则:/(?!...千分位显示数字 数字字符表示:\d 千分位量词:{3} 位置替换字符:(?=p) 从末尾往首进行命中 第一版: 呀?齐了怪了,只匹配到了一个位置?那我们想匹配多次怎么办?

    24320

    正则表达式-3.位置匹配

    边界限定符 正则表达式用边界限定符来表明匹配操作在什么位置(或边界)发生。 2. 单词边界 \b 指定单词的边界。即一个单词的开始或结尾。 同样,\B指定非单词边界。...字符串边界 ^匹配字符串的开头。 $匹配字符串的结尾。 注意:^出现在一个字符串集合中时(左方括号[后面),表示求非。 "<?...分行匹配模式 (?m)记号可以启动分行匹配模式,将使行分隔符当作一个字符串分隔符来对待。...分行匹配模式中,^不仅匹配字符串开头,还匹配行分隔符(换行符)后面的开始位置(不可见);$不仅匹配字符串的结尾,还将匹配行分隔符(换行符)后面的结束位置。 使用(?m)必须出现在整个模式的最前面。...注意:有正则表达式不支持(?m)。

    90430

    正则】956- 正则表达式有几种位置匹配模式?

    最近再一次重温老姚大佬的《JavaScript 正则表达式迷你书》 , 并将核心知识点整理一遍,方便复习。 原书写得非常棒,建议看下原书啦。...地址:https://github.com/qdlaoyao/js-regex-mini-book 位置匹配,就是要匹配每个字符两边的位置。 在 ES5 中有6个位置:^,$,\b,\B,(?...\b 和 \B \b 匹配单词边界,即 \w 和 \W 之间的位置,包括 \w 和 ^ 之间的位置,和 \w 和 之间的位置。...\B 和 \b 相反,即非单词边界,匹配中除去 \b,剩下的都是 \B 的。也就是 \w 与 \w、 \W 与 \W、^ 与 \W,\W 与 之间的位置。。...=p) 匹配前面是 p 的位置,而 (?!p) 则匹配前面不是 p 的位置。 "hello".replace(/(?

    1.4K30

    正则表达式必知必会 - 位置匹配

    一、边界         位置匹配用于指定应该在文本中什么地方进行匹配操作,先来看一个例子。...正则表达式引擎不懂任何人类语言,所以也不知道什么是单词边界。...简单地说,\b 匹配的是字符之间的一个位置:一边是单词(能够被 \w 匹配的字母数字字符和下划线),另一边是其他内容(能够被 \W 匹配的字符)。...这里总共找到了 4 个匹配,其中有 3 个都不是独立的单词 cap。下面这个例子里的文本还是刚才那段文字,但在这次的正则表达式里只有一个 \b 后缀。...这里总共找到了 2 个匹配,其中有一个不是独立的单词 cap。如果只想匹配单词 cap 本身,那么正确的模式应该是 \bcap\b。         b 匹配的是一个位置,而不是任何实际的字符。

    16130

    第二章 正则表达式位置匹配攻略

    第二章 正则表达式位置匹配攻略 正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。 然而大部分人学习正则时,对于匹配位置的重视程度没有那么高。 本章讲讲正则匹配位置的总总。...内容包括: 什么是位置? 如何匹配位置位置的特性 几个应用实例分析 1. 什么是位置呢? 位置是相邻字符之间的位置。比如,下图中箭头所指的地方: ? 2. 如何匹配位置呢?...此时我们可以看看”[#JS#] #Lesson_01#.#mp4#”中的每一个”#”,是怎么来的。 第一个”#”,两边是”[“与”J”,是\W和\w之间的位置。...把位置理解空字符,是对位置非常有效的理解方式。 4. 相关案例 4.1 不匹配任何东西的正则 让你写个正则匹配任何东西 easy,/.^/ 因为此正则要求只有一个字符,但该字符后面是开头。...掌握匹配位置的这6个锚字符,给我们解决正则问题一个新工具。

    2K100

    正则匹配路由

    在 web 开发中,可能会出现限制用户访问规则的场景,那么这个时候就需要用到正则匹配,根据自己的规则去限定请求参数再进行访问 具体实现步骤为: 导入转换器基类:在 Flask 中,所有的路由的匹配规则都是使用转换器对象进行记录...自定义转换器:自定义类继承于转换器基类 添加转换器到默认的转换器字典中 使用自定义转换器实现自定义匹配规则 代码实现 导入转换器基类 from werkzeug.routing import BaseConverter...自定义转换器 # 自定义正则转换器 class RegexConverter(BaseConverter): def __init__(self, url_map, *args):...__init__(url_map) # 将接受的第1个参数当作匹配规则进行保存 self.regex = args[0] 添加转换器到默认的转换器字典中,并指定转换器使用时名字为...name__) # 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: re app.url_map.converters['re'] = RegexConverter 使用转换器去实现自定义匹配规则

    3.4K30

    nginx 进行正则匹配(常见正则匹配符号表示)

    跳转到域名 域名/kenni-10.html rewrite ^/kenni-([0-9]+)/$ /kenni-$1.html permanent; 其他学习参考资料: 1、^: 匹配字符串的开始位置...; 2、 $:匹配字符串的结束位置; 3、.*: .匹配任意字符,*匹配数量0到正无穷; 4、\....特殊使用方法,记住记性了; 5、(值1|值2|值3|值4):或匹配模式,例:(jpg|gif|png|bmp)匹配jpg或gif或png或bmp 6、i不区分大小写 一.正则表达式匹配,其中:...(js|css)$ { expires 1h; } 8.给favicon.ico和robots.txt设置过期时间; 这里为favicon.ico为99天,robots.txt为7天并不记录...off; expires 7d; break; } 9.设定某个文件的过期时间;这里为600秒,并不记录访问日志 location ^~ /html/scripts/loadhead_1.js

    34.6K42

    JavaScript·正则匹配探究

    正则匹配探究 在 JavaScript 中常用正则匹配方法有 match 和 exec, 这两个方法属于不同的对象方法。...match 是字符串方法,写法为:str.match(regex) exec 是正则表达式方法,写法为:regex.exec(str) 两者在匹配成功时返回的都是数组,在没有匹配上时返回的都是 null...全局匹配 当不使用全局匹配时,两者的匹配效果是一样的,仅返回第一次匹配成功的结果: const str = 'aaa bbb ccc' const regex = /\b\w+\b/ console.log...,match 和 exec 效果一样,仅返回第一次匹配成功的结果; 全局匹配时,match 会返回所有匹配上的内容;而 exec 仅匹配单次匹配上的内容,当多次匹配时,exec 会从上次匹配结束的下一位开始匹配...,返回本次匹配上的内容,直至无可以匹配的内容,返回 null。

    2.8K20

    Linux正则匹配详解

    什么是正则表达式 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符。...正则字符简单介绍 元字符介绍 "^": ^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置. "$": $会匹配行或字符串的结尾...."\b": 不会消耗任何字符只匹配一个位置,常用于匹配单词边界 如 我想从字符串中"This is Regex"匹配单独的单词 "is" 正则就要写成 "\bis\b",\b 不会匹配is 两边的字符,..."\S" 匹配任意不是空白符的字符 "\D" 匹配任意非数字的字符 "\B" 匹配不是单词开头或结束的位置 "[^abc]" 匹配除了abc以外的任意字符 量词 贪婪(...懒惰量词使用另一种方式匹配,它从目标的起始位置开始尝试匹配,每次检查一个字符,并寻找它要匹配的内容,如此循环直到字符结尾处.

    11.7K20

    常用正则匹配符号

    1.单个字符: a:匹配字母a \\ :匹配转义字符“\” \t :匹配转义字符“\t” \n :匹配转义字符“\n” 2.一组字符 [abc]:可能是a,可能是b或者c        [^abc]:不是...a,b,c中的任意一个     [a-zA-Z]:全部字母任意一个 [0-9]:全部数字任意一个 3.边界匹配 ^表示一组正则的开始 $表示一组正则的结束 4.数量表示 正则表达式?...:0次或1次 正则表达式*:0次1次或多次 正则表达式+:1次或多次 正则表达式(n):n次 正则表达式(n,):n次以上 正则表达式(n,m):n到m次 5.逻辑与或非 正则表达式A正则表达式B:表达式...A之后紧跟着表达式B 正则表达式A|正则表达式B:表达式A或者表达式B只出现其中一个 (正则表达式):多个子表达式合成一个,成一组出现 6.简写表达式 .

    25810
    领券