正则表达式 - 字符匹配不以某字段开头或者结尾

2019-05-23 admin

我的博文地址: https://www.luoyangfu.com/art…

最近有一个需求,要求是判断某个字符串不以什么开头。然后就开始探索这个不以什么开头和不易什么结尾的正则怎么写,why?

不以某字符串开头

这里需要提一个概念叫 否定式前项匹配 这个东东。

向前匹配

根据匹配的字符序列后面存在一个特定的字符序列或者不存在一个特定的序列来决定是否匹配。对于向前匹配,出现在指定项后面的字符序列不会被正则表达式返回。

这里说后面存在一个特定字符序列, 也称之为肯定式向前查找 不存在一个特定的序列,也称之为否定式向前查找 这两个概念后续再深入

开始解决这个问题不以某字符串开头:

^(?!str)

这里使用了下面几个元符号:

  1. ^ 判断是否是开头
  2. ?! 这里是否定向前查询

示例:

  1. 不以test 开头字符串
/^(?!test).*/

-w294

不以某字符串结尾

这里要说一个概念叫 否定式向后匹配,前面说了向前匹配,想后匹配呢?

向后匹配

一个要匹配的字符串序列前面有或者没有指定的字符串序列

这里有指定字符串序列也叫 肯定式向后匹配 这里没有指定字符串序列也叫 否定式向后匹配 这两个概念后续深入

解决不以某字符串结尾:

(?<!str)$

这里用了如下几个符号:

  1. ?<! 否定式向后查询
  2. `<div class=“article fmt article__content” data-id=“1190000019266662” data-license=“cc” 是否结尾

示例:

不以 end 结尾

/.*(?<!end)$/

-w299

收集几个 ? 元字符用法

(?:str)   非捕获组

(?=str) 肯定式向前查找

(?!str) 否定式向前查找

(?<=str) 肯定式向后查找

(?<!str) 否定式向后查找

参考地址:

https://blog.csdn.net/LinBili… https://blog.csdn.net/libingx…

[转载]原文链接:https://segmentfault.com/a/1190000019266662

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-65491.html

文章标题:正则表达式 - 字符匹配不以某字段开头或者结尾

相关文章
7个你可能不认识的CSS单位
浼楁墍鍛ㄧ煡CSS鎶€鏈�鎴戜滑铏界劧寰堢啛鎮夛紝鍦ㄤ娇鐢ㄧ殑杩囩▼鍗村緢瀹规槗琚�鍥颁綇锛岃繖璁╂垜浠�鍦ㄦ柊闂�棰樺嚭鐜扮殑鏃跺€欏彉寰楀緢涓嶅埄銆� 闅忕潃web缁х画涓嶆柇鍦板彂灞曪紝瀵逛簬鏂版妧鏈�鏂拌В鍐虫柟妗堢殑瑕佹眰涔熶細涓...
2015-11-11
线程有什么用处? 为什么有些东西注定不会流行
多线程的领域也许只有一个: 图形学. 我们以一个游戏来说明 @ |___|___|___|___|___ @是一个玩家, 往前走, 每一个___是1米. 每当@走到1米的时候, 会绘制一个蘑菇*给玩家看. @|___*___|___|___...
2015-11-12
JavaScript正则进阶之路——活学妙用奇淫正则表达式
有些童鞋肯定有所疑惑,花了大量时间学习正则表达式,却发现没有用武之地,正则不就是验证个邮箱嘛,其他地方基本用不上,其实,大部分人都是这种感觉,所以有些人干脆不学,觉得又难又没多大用处。殊不知,想要成为编程大牛,正则表达式必须玩转,GitH...
2017-05-31
jquery拼接ajax 的json和字符串拼接的方法
整理文档,搜刮出一个jquery拼接ajax 的json和字符串拼接的代码,稍微整理精简一下做下分享。 jQuery拼接字符串ajax &lt;form id=&quot;myForm&quot; action=&quot;#&quot;&...
2017-04-01
HTML5:未来不可阻挡的力量
HTML5像是互联网行业扔下的一颗炸弹,有些人还未反应过来,原先专注的领域也许就将面临彻底的革新。比如像前几年疯狂甚至有点野蛮成长的App。虽然HTML5从出现到去年标准尘埃落定,一直在争议中曲折发展,但是各种H5页面的推广以及H5小游戏在...
2015-11-12
js使用split函数按照多个字符对字符串进行分割的方法
本文实例讲述了js使用split函数按照多个字符对字符串进行分割的方法。分享给大家供大家参考。具体分析如下: js中的split()函数可以对字符串按照指定的符号进行分割,但是如果字符串中存在多个分割符号,js的split()函数是否还可以...
2017-03-21
express不是内部或外部命令
最新express4.0版本中将命令工具分家出来了(项目地址:https://github.com/expressjs/generator) 安装一个命令工具,命令如下: npm install -g express-generator ...
2015-11-12
jQuery给多个不同元素添加class样式的方法
本文实例讲述了jQuery给多个不同元素添加class样式的方法。分享给大家供大家参考。具体分析如下: jQuery可以通过addClass()方法给多个不同的html元素同时添加相同的class &lt;!DOCTYPE html&gt;...
2017-03-22
JavaScript将字符串转换成字符编码列表的方法
本文实例讲述了JavaScript将字符串转换成字符编码列表的方法。分享给大家供大家参考。具体如下: JavaScript将字符串转换成字符编码列表,例如foo转换成 [112,111,111] 方法 1: JavaScript 1.6 A...
2017-03-21
回到顶部