python里使用正则表达式的边界符进行匹配

原创 2017年10月12日 18:23:40
在我们日常使用中,经常需要搜索关键位置进行字符串的匹配,比如一行文本的开头,又比如一个字符串的开头,或者结尾。 这时候就需要使用正则表达式的边界符进行匹配,它们定义如下:
定义字符 意义
^ 字符串的开头或一行的开头
$ 字符串的结尾或一行的结尾
\A 字符串的开头
\Z 字符串的结尾
\b 空字符串的开头或一个单词的结尾
\B 非空字符串的开头或非一个单词的结尾,与\b相反

测试例子如下:
#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
from re_test_patterns import test_patterns

test_patterns(
    'This is some text -- with punctuation.',
    [(r'^\w+', 'word at start of string'),
     (r'\A\w+', 'word at start of string'),
     (r'\w+\S*$', 'word near end of string'),
     (r'\w+\S*\Z', 'word near end of string'),
     (r'\w*t\w*', 'word containing t'),
     (r'\bt\w+', 't at start of word'),
     (r'\w+t\b', 't at end of word'),
     (r'\Bt\B', 't, not start or end of word')],
)


结果输出如下:
'^\w+' (word at start of string)

  'This is some text -- with punctuation.'
  'This'

'\A\w+' (word at start of string)

  'This is some text -- with punctuation.'
  'This'

'\w+\S*$' (word near end of string)

  'This is some text -- with punctuation.'
  ..........................'punctuation.'

'\w+\S*\Z' (word near end of string)

  'This is some text -- with punctuation.'
  ..........................'punctuation.'

'\w*t\w*' (word containing t)

  'This is some text -- with punctuation.'
  .............'text'
  .....................'with'
  ..........................'punctuation'

'\bt\w+' (t at start of word)

  'This is some text -- with punctuation.'
  .............'text'

'\w+t\b' (t at end of word)

  'This is some text -- with punctuation.'
  .............'text'

'\Bt\B' (t, not start or end of word)

  'This is some text -- with punctuation.'
  .......................'t'
  ..............................'t'
  .................................'t'

深入浅出Numpy
http://edu.csdn.net/course/detail/6149 

Python游戏开发入门

你也能动手修改C编译器

纸牌游戏开发

http://edu.csdn.net/course/detail/5538 

五子棋游戏开发

http://edu.csdn.net/course/detail/5487
RPG游戏从入门到精通
http://edu.csdn.net/course/detail/5246
WiX安装工具的使用
http://edu.csdn.net/course/detail/5207
俄罗斯方块游戏开发
http://edu.csdn.net/course/detail/5110
boost库入门基础
http://edu.csdn.net/course/detail/5029
Arduino入门基础
http://edu.csdn.net/course/detail/4931
Unity5.x游戏基础入门
http://edu.csdn.net/course/detail/4810
TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
C++标准模板库从入门到精通 
http://edu.csdn.net/course/detail/3324
跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
跟老菜鸟学python
http://edu.csdn.net/course/detail/2592
在VC2015里学会使用tinyxml库
http://edu.csdn.net/course/detail/2590
在Windows下SVN的版本管理与实战 
http://edu.csdn.net/course/detail/2579
Visual Studio 2015开发C++程序的基本使用 
http://edu.csdn.net/course/detail/2570
在VC2015里使用protobuf协议
http://edu.csdn.net/course/detail/2582
在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672

版权声明:本文为博主原创文章,未经博主允许不得转载。

正则表达式边界符中的 ^, $, \A, \Z, \z

转载自 http://blog.csdn.net/ggicci/article/details/8015087 Regex : 本文介绍正则表达式中边界符 ^ 和 $ 以及 \A 和 \Z...
  • justheretobe
  • justheretobe
  • 2016年11月13日 21:16
  • 1657

正则表达式之字符边界

零宽与非零宽非零宽字符:能够匹配字符的(特殊)字符。如:\d会匹配一个数字,\s会匹配空白字符 零宽字符:不匹配字符,只标记位置(具体含义见下文)字符边界 表达式 表示含义 ^ 与字符...
  • chanmufeng
  • chanmufeng
  • 2017年01月06日 19:37
  • 1003

[Python]python正则入门--基本元字符匹配操作

正则对于文本文字处理很好用,以前总是觉得很难似的,认真的学习一下发现入门还是很简单的。 首先说的是元字符: [] :-常用来制定一个字符集,只能匹配一个字符 [abc]  匹配a,b或者 c  ...
  • lzz957748332
  • lzz957748332
  • 2013年03月29日 14:35
  • 1877

[Python]网络爬虫(七):Python中的正则表达式教程

接下来准备用糗百做一个爬虫的小例子。 但是在这之前,先详细的整理一下Python中的正则表达式的相关内容。 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的...
  • wxg694175346
  • wxg694175346
  • 2013年05月15日 13:29
  • 126645

Python正则表达式--前向界定符

前向界定符包括前向肯定界定符和前项否定界定符,如下所示: (?=...) 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引...
  • lwnylslwnyls
  • lwnylslwnyls
  • 2013年05月08日 17:48
  • 1691

Python 使用正则表达式 - 1

正则表达式 python
  • hjh00
  • hjh00
  • 2015年08月19日 16:20
  • 1044

正则表达式中问号的用法

1、需求背景 由于最近工作需要,要从网页链接中找到
  • maylorChao
  • maylorChao
  • 2014年05月28日 11:33
  • 5600

匹配中文字符的正则表达式

这里是几个主要非英文语系字符范围(google上找到的): 2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字...
  • ll641058431
  • ll641058431
  • 2016年12月01日 15:30
  • 521

正则表达式之模式修正符

模式修正符     模式修正符就是几个字母,我们在每个正则表达式中可以一次使用一个,也可以连续使用多个,每一个具有一定意义     模式修正符对整个正则表达式调优使用,也可以说是对正则表达式功...
  • key330
  • key330
  • 2016年08月31日 14:37
  • 659

字符串占位符的三种解决方案及其时间性能对比

简述:    最近在做Android性能优化的问题,看到之前在解决API接口问题时使用了占位符,本篇博客就来总结一下目前常用的三种解决方案,然后就三种方案的时间性能做一下对比。 字符串占位符的三种...
  • u012810020
  • u012810020
  • 2016年07月10日 18:30
  • 2070
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python里使用正则表达式的边界符进行匹配
举报原因:
原因补充:

(最多只允许输入30个字)