当前位置: 首页 > 面试题库 >

正则表达式:匹配开始或空格

斜向文
2023-03-14
问题内容

正则表达式可以匹配空格 字符串的开头吗?

我正在尝试用英镑符号替换缩写为GBP的货币。我可以匹配任何以GBP开头的东西,但我想更加保守一些,并在它周围寻找某些定界符。

>>> import re
>>> text = u'GBP 5 Off when you spend GBP75.00'

>>> re.sub(ur'GBP([\W\d])', ur'£\g<1>', text) # matches GBP with any prefix
u'\xa3 5 Off when you spend \xa375.00'

>>> re.sub(ur'^GBP([\W\d])', ur'£\g<1>', text) # matches at start only
u'\xa3 5 Off when you spend GBP75.00'

>>> re.sub(ur'(\W)GBP([\W\d])', ur'\g<1>£\g<2>', text) # matches whitespace prefix only
u'GBP 5 Off when you spend \xa375.00'

我可以同时做后两个例子吗?


问题答案:

使用OR“ |”运算符:

>>> re.sub(r'(^|\W)GBP([\W\d])', u'\g<1>£\g<2>', text)
u'\xa3 5 Off when you spend \xa375.00'


 类似资料:
  • 问题内容: 用于正则表达式的Java API 声明将匹配空格。因此,正则表达式应匹配两个空格。 这样做的目的是用单个空格替换两个连续空格的所有实例。但是,这实际上不起作用。 我对正则表达式或“空白”一词有严重的误解吗? 问题答案: 是的,你需要获取matcher.replaceAll()的结果:

  • 下面是在线测试:regex101 下面是java测试: 下面是我测试的输出: 为什么匹配项2为空?在联机匹配器中,它对两者都正确匹配。 正则表达式字符串的说明:

  • 问题内容: 我需要在PHP正则表达式中匹配一个空格字符。任何人有任何想法吗? 我的意思是像“ gavin schulz”一样,两个单词之间的空格。我使用正则表达式来确保只允许使用字母,数字和空格。但是我不确定如何找到空间。这就是我现在所拥有的: 问题答案: 如果您正在寻找一个空格,那就是(一个空格)。 如果要查找一个或多个,则为( 两个 空格和一个星号)或(一个空格和一个加号)。 如果您要查找公共

  • 我们得到了一些这样的内容:

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 主要内容:基本模式匹配,字符簇,确定重复出现基本模式匹配 一切从最基本的开始。模式,是正则表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。例如: 这个模式包含一个特殊的字符 ^,表示该模式只匹配那些以 once 开头的字符串。例如该模式与字符串 "once upon a time" 匹配,与 "There once was