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

正则表达式匹配不是特定子字符串的东西

正则表达式匹配不是特定子字符串的东西,通常是指使用正则表达式来匹配除了特定子字符串之外的其他字符串。这种匹配方式可以用于许多不同的场景,例如在文本编辑器中搜索除了特定单词之外的所有单词,或者在网络爬虫中过滤掉特定的链接。

在正则表达式中,可以使用否定预测先行断言来匹配除了特定子字符串之外的其他字符串。否定预测先行断言的语法是 (?<!特定子字符串),它表示在当前位置之前不能出现特定子字符串。例如,要匹配除了 "abc" 之外的任何字符串,可以使用正则表达式 (?<!abc).*。

除了否定预测先行断言之外,还可以使用否定字符集来匹配除了特定字符之外的其他字符。例如,要匹配除了 "a" 和 "b" 之外的任何字符,可以使用正则表达式 ^ab+。

总之,正则表达式匹配不是特定子字符串的东西是一种常见的匹配方式,可以用于许多不同的场景,例如文本编辑、网络爬虫、数据清洗等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java如何用正则表达式匹配字符串

背景 今天运营反馈一个问题,自己扫描单词记录看不到,看了下日志显示同步英语不符合要求,限制了符合以下正则表达式句子才会入库: String regex = "^[A-Za-z0-9\s,.!?...:]+$"; 稍微解释下: ^表示匹配字符串开头; [A-Za-z0-9\s,.!?...:]表示匹配一个英文字母(大写或小写)、数字、空格、逗号、句号、感叹号、问号、或冒号中任意一个字符; +表示匹配前面的子表达式一次或多次; $表示匹配字符串结尾。...正题 在Java中,由于反斜杠字符 \ 在正则表达式中具有特殊含义,因此在使用正则表达式匹配字符串 \ 时,需要使用双反斜杠 \\ 来表示一个反斜杠字符。...所有要匹配两个 \\ 需要写四个反斜杠 \\\\ 才可以~ 修改后测试果然通过,下面演示如何使用正则表达式匹配字符串 \: import java.util.regex.Matcher; import

8710

linux 正则表达式匹配不包含某些字符串技巧

事实上,说正则表达式里不支持逆向匹配不是百分之百正确。就像这个问题,我们就可以使用否定式查找来模拟出逆向匹配,从而解决我们问题: ^((?!....)*$ 上面这个表达式就能过滤出不包含‘hede'字串信息。我上面也说了,这种写法并不是正则表达式“擅长”用法,但它是可以这样用。 解释 一个字符串是由n个字符组成。...在上面的例子里,每个空字符都会检查其前面的字符串是否不是‘hede',如果不是,这.(点号)就是匹配捕捉这个字符。表达式(?!...*匹配字符串"ABhedeCD"结果false,因为在e3位置,(?!hede)匹配不合格,它之前有"hede"字符串,也就是包含了指定字符串。 在正则表达式里, ?!...a) 前面没有a \B 非单词边界 正则表达式中有(?=a)和(?!a)来表示我们是否需要匹配某个东西。 所以,有需要不匹配某样内容时,就可以用(?!a)了。

8.7K30
  • 12.Python使用正则表达式匹配+前字符串

    正则表达式就像加减乘除四则运算符一样,可以跨语言使用。编程语言只要涉及字符处理,都会引入功能强大正则表达式。可以说正则表达式本身就是一套应用于字符串环境小型编程语言。...=\+)","credits",str) 'credits+copyright+1' 在Python中re模块提供了几个函数来使用正则表达式,上面用到sub方法便是用来替换匹配字符串。...我们在str中搜索符合正则表达式字符或字符串,并将之替换成"credits"。 r"\w\d{1,2}(?=+)"是我们用来搜索"+"前面"H33"而编写正则表达式。...=+)表示我们所要匹配字符在"+"前面。 >>> str="H33+copyright+1" >>> re.sub(r"[A-Z]\d{1,2}(?...\w范围比较大,代表[a-zA-Z0-9],若想要精确匹配可以用更精准正则表达式。感觉又找到可以写内容了:-)

    3.7K30

    正则表达式匹配不存在特定字符字符串

    作为一名不经常使用正则表达式程序员,想用最简单语言来描述否定匹配,不过发现确实不是那么好理解。还是按照自己知道来描述吧。...=pattern) 非获取匹配,正向肯定预查,在任何匹配pattern字符串开始处匹配查找字符串,该匹配不需要获取供以后使用。例如,“Windows(?...预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配搜索,而不是从包含预查字符之后开始。 (?!...pattern) 匹配,显而易见它是匹配下一个字符串来判断本次匹配是否成功。当然这是一个否定匹配。 问题 在文档中匹配出,不包含“hello”字符串。...当然这不是重点,重点是怎么来写这个正则表达式。 当然,结论是: ^(?!.*hello).*$ 运行效果: ? 将包含有“hello”字符串全部排除掉了。这样就实现了我们想要效果。

    5.5K20

    linux shell:提取正则表达式捕获组(catch group)匹配字符串

    bash 目前大部分shell(如bash)都提供了正则表达式判断操作符=~,如下就可以对一个字符符判断是否匹配正则表达式: $ [[ "hello world" =~ wor(ld)?...]] && echo match matched 其实基于上面的表达式不仅可以判断是否匹配正则表达,还可以通过上面表达式创建变量 BASH_REGEX(数组)提取捕获组(catch group),...0(全部字符串) {BASH_REMATCH[1]} 即正则表达式捕获组1,以此类推 BASH_REGEX 是 bash定义保存正则表达式捕获组变量,不同脚本解释有不同定义,比如zsh,ksh...就有另外变量定义方式 ksh 保存正则表达匹配数据数组变量名叫 .sh.match ,对BASH_REMATCH,引用时必须以${.sh.match}方式引用 {.sh.match[0]} 即正则表达式捕获组...0(全部字符串) {.sh.match[1]} 即正则表达式捕获组1,以此类推 zsh MATCH 保存匹配整个字符串,对应就是bashBASH_REMATCH[0] match保存捕获组数据数组

    4.6K10

    Python正则表达式:强大字符串匹配工具

    在Python中需要通过正则表达式字符串进行匹配时候,可以使用re模块。re 模块使 Python 语言拥有全部正则表达式功能。...print(re.match('\\\\', '\\\\hello')) # 需要使用四个反斜杠来匹配一个 \\ Python里原生字符串很好地解决了这个问题,有了原生字符串,你再也不用担心是不是漏写了反斜杠...) match方法使用 re.match尝试从字符串起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。...re.match只匹配字符串开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。...在字符串中找到正则表达式匹配所有子串,并返回一个列表,如果没有找到匹配,则返回空列表。

    8110

    正则表达式学习笔记

    正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式文本。...简单来说,正则表达式就是做了这么一个事情:制定一个规则,而后根据规则去文本中寻找符合规则字符串。 它可以从一个基础字符串中根据一定匹配模式替换文本中字符串、验证表单、提取字符串等等。...比如想查找除了数字以外,其它任意字符都行情况,这时需要用到反义: 代码 描述 \W 匹配任意不是字母,数字,下划线,汉字字符 \S 匹配任意不是空白符字符 \D 匹配任意非数字字符 \B 匹配不是单词开头或结束位置...(但并不包括这些内容)之前或之后东西。...ing) 能够匹配所有 ing,并且它后面不是 ing。 正则表达式: ing(?!

    42520

    正则表达式30分钟入门教程

    就作者本人经历来说,这个目标还是完成得不错——你看,我自己也没能把所有的东西记下来,不是吗?...最重要是——请给我30分钟,如果你没有使用正则表达式经验,请不要试图在30秒内入门——除非你是超人 :) 正则表达式到底是什么东西?...好吧,现在我们说说正则表达式单词是什么意思吧:就是不少于一个连续\w。不错,这与学习英文时要背成千上万个同名东西的确关系不大 :) \d+匹配 1个或更多连续数字。...正则表达式引擎通常会提供一个“测试指定字符串是否匹配一个正则表达式方法,如JavaScript里RegExp.test()方法。这里匹配是指是字符串里有没有符合表达式规则部分。...=\s)匹配以空白符间隔数字(再次强调,不包括这些空白符)。 地球人,是不是觉得这些术语名称太复杂,太难记了?我也有同感。知道有这么一种东西就行了,它叫什么,随它去吧!

    96130

    一天学完sparkScala基础语法教程六、字符串(idea版本)

    str) 返回指定子字符串在此字符串中最右边出现处索引 24 int lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最后一次出现处索引,从指定索引开始反向搜索...25 int length() 返回此字符串长度 26 boolean matches(String regex) 告知此字符串是否匹配给定正则表达式 27 boolean regionMatches...使用给定 replacement 替换此字符串所有匹配给定正则表达式字符串 31 String replaceFirst(String regex, String replacement) 使用给定...replacement 替换此字符串匹配给定正则表达式第一个子字符串 32 String[] split(String regex) 根据给定正则表达式匹配拆分此字符串 33 String[]...split(String regex, int limit) 根据匹配给定正则表达式来拆分此字符串 34 boolean startsWith(String prefix) 测试此字符串是否以指定前缀开始

    55520

    这可能是迄今为止最好一篇正则入门教程-下

    B匹配不是单词开头或结束位置[^x]匹配除了x以外任意字符[^aeiou]匹配除了aeiou这几个字母以外任意字符 例子:\S+匹配不包含空白符字符串。...你也可以自己指定子表达式组名。 要指定一个子表达式组名,请使用这样语法:(?\w+) (或者把尖括号换成'也行:(?'...零宽断言 地球人,是不是觉得这些术语名称太复杂,太难记了?我也有同感。知道有这么一种东西就行了,它叫什么,随它去吧!...零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败 如果你不是一个程序员(或者你自称程序员但是不知道堆栈是什么东西),你就这样理解上面的三种语法吧:第一个就是在黑板上写一个"group",第二个就是从黑板上擦掉一个...还有些什么东西没提到 上边已经描述了构造正则表达式大量元素,但是还有很多没有提到东西。下面是一些未提到元素列表,包含语法和简单说明。

    70550

    python(三)

    print(''.join(random.sample(x, 8))) 2 正则表达式 正则表达式使用预定义特定模式去匹配一类具有共同特征字符串,主要用于字符串处理,可以快速、准确地完成复杂查找...2.2 使用正则表达式对象 使用正则表达式对象用法和正常使用 re 模块基本一样,首先通过 re 模块 compile()函数将正则表达式编译生成正则表达式对象,然后再使用正则表达式对象提供方法进行字符串处理...[m.end():]) ''' Match对象start()方法: 返回指定子模式内容起始位置 Match对象end()方法: 返回指定子模式内容结束位置下一个位置 ''' m = re.match...先 ABAC 类型(实际上 ABAB 也能匹配到,书上也是这样,将错就错了,简单点),小数点表示能匹配到除换行符任意单个字符,所以先构建 正则表达式 pattern = r'(..)'...)', 然后是粘贴工作–反斜线加要粘贴内容是第几个子模式, pattern = r'((.).\2)',这里是 2 原因就是上面说重点了,使用括号表示一个子模式,我们要把第二个括号里东西复制粘贴

    59220

    正则表达式(理论篇)

    维基百科 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学一个概念...正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式文本。 许多程序设计语言都支持利用正则表达式进行字符串操作。...匹配除换行符以外任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意空白符 \d 匹配数字 \b 匹配单词开始或结束 ^ 匹配字符串开始 $ 匹配字符串结束 转移字符(\) 如果你想查找元字符本身的话...\d{3}-\d{7}红色和绿色只匹配一种,如果直接匹配到红色,则会将绿色短路,所以此处要注意顺序 分组 可以用小括号来指定子表达式(也叫做分组) 例如: (\d{1,3}\.){3}\d{1,3}是一个简单...\W 匹配任意不是字母,数字,下划线,汉字字符 \S 匹配任意不是空白符字符 \D 匹配任意非数字字符 \B 匹配不是单词开头或结束位置 [^x] 匹配除了x以外任意字符 [^aeiou] 匹配除了

    31620

    Python正则表达式

    匹配任何字符(除了\n之外) b.b ^ 匹配字符串起始部分 ^Dear $ 匹配字符串终止部分 /bin/*sh$ * 匹配0次或者多次前面出现正则表达式 [A-Za-z0-9]* + 匹配1次或者多次前面出现正则表达式...,然后返回一个正则表达式对象 re模块函数和正则表达式对象方法 match 尝试使用带有可选标记正则表达式模式来匹配字符串。...如果匹配成功,就返回匹配对象;如果失败就返回None findall 查找字符串中所有(非重复)出现正则表达式模式,并返回一个匹配对象 finditer 与findall()函数相同,但返回不是一个列表...group()要么返回整个匹配对象,要么根据要求返回特定子组。groups()则仅返回一个包含唯一或者全部子组元组。...如果给定分隔符不是使用特殊符号来匹配多重模式正则表达式,那么re.split()与str.split()工作方式相同,例子如下 >>> re.split(':','str1:str2:str3') [

    1.6K90

    正则表达式30分钟入门教程

    就作者本人经历来说,这个目标还是完成得不错——你看,我自己也没能把所有的东西记下来,不是吗? 正则表达式到底是什么东西?...在编写处理字符串程序或网页时,经常会有查找符合某些复杂规则字符串需要。正则表达式就是用于描述这些规则工具。换句话说,正则表达式就是记录文本规则代码。...说某个字符串匹配某个正则表达式,通常是指这个字符串里有一部分(或几部分分别)能满足表达式给出条件。 入门 学习正则表达式最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验。...这几乎是最简单正则表达式了,它可以精确匹配这样字符串:由两个字符组成,前一个字符是h,后一个是i。...还有些什么东西没提到 上边已经描述了构造正则表达式大量元素,但是还有很多没有提到东西。下面是一些未提到元素列表,包含语法和简单说明。

    84400

    企业面试题: 请用JS去除字符中(1)所有空格 (2)去除两头空格

    考核内容: JavaScript 正则表达式与函数 题发散度: ★★★ 试题难度: ★★ 解题思路: trim() 方法 用于删除字符串头尾空格,不会改变原始字符串。...如果你浏览器不支持 trim() 方法,你可以使用正则表达式来实现 str.replace(/^\s+|\s+$/gm,''); replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配子串...规定子字符串或要替换模式 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索直接量文本模式,而不是首先被转换为 RegExp 对象。 newvalue 必需。一个字符串值。...规定了替换文本或生成替换文本函数。

    3.3K30
    领券