当前位置: 首页 > 知识库问答 >
问题:

使用regex python检查dot后面是否有其他regex元字符

姜阳
2023-03-14

foo.bar->点后面没有任何其他元字符,因此返回false

foo.*bar->返回true(因为。后跟*)

gmail.com->返回false

import re
pattern = re.compile(r"([.][\^$*+?{}\[\]\|()]+)+")
print bool(pattern.match("foo.*bar"))

共有1个答案

桑宇
2023-03-14

您的正则表达式基本上是正确的,但是在character类中有些字符被过度转义(例如,在类中使用时不必转义)。

您需要使用search方法而不是matchsearchmatch之间有一个细微的区别:https://docs.python.org/3/library/re.html#re.match

In [1]: import re

In [2]: r = re.compile('\.[\^$*+?{}\[\]|()]')

In [4]: bool(r.search("foo.*bar"))
Out[4]: True

In [5]: bool(r.search("foo.bar"))
Out[5]: False

另外,最好从Python 3开始学习--版本2已经过时了。

 类似资料:
  • 我想使用regex来查看是否存在某个集合以外的任何字符。 “pvc”返回False 'pd'返回True 'p('返回True 我如何用RE来表达这个?谢了。

  • 我有这个正则表达式只允许字母数字字符。 如何检查字符串是否至少包含3个字母字符。 我当前的正则表达式, 我想强制执行字符串以确保至少有3个连续的字母字符;

  • 当我启动音频/屏幕录像机并打开我的录音机应用程序并启动用于录制音频的服务时,我遇到错误该应用程序崩溃。 我不知道为什么我会面临这个问题。 来自logcat的错误跟踪 录制服务.java 录音活动 这就是我尝试在应用程序中开始录制时发生的情况 链接如下。 显示我的应用程序崩溃

  • 我需要这样一种验证,即我的字符串必须至少包含一个Unicode字母。将评估角色的角色。isLetter()为true。 比如说我要 我知道我可以使用角色循环。isLetter(),但我只是不想这么做。 这和这个完全不同,因为它只检查英文字母,但在我的例子中是一个Unicode字母。这根本不一样。

  • 问题内容: 我有两个div元素。他们每个人都有450px的宽度和高度。如何检查第一个div是否与第二个div重叠? 我尝试使用javascript hittest,但是有点复杂。由于我试图找出其实际工作方式,因此我想从一个简单的代码开始。 我发现可以使用 .getClientRects 来获取元素的边界,但是我不确定如何比较边界。 请给我提意见! 问题答案: 类似这样的东西,并通过getBound