python re.compile(?P<name>)
来源:互联网 发布:kettle数据库增量同步 编辑:程序博客网 时间:2024/05/29 18:59
sentence = 'cats are fast'regex = re.compile('(?P<animal>\w+) (?P<verb>\w+) (?P<adjective>\w+)')matched = re.search(regex, sentence)print(matched.groupdict())
output: {'adjective': 'fast', 'verb': 'are', 'animal': 'cats'}
Python 帮助文档中的说明如下:
The syntax for a named group is one of the Python-specific extensions: (?P<name>...)
. name is, obviously, the name of the group. Named groups also behave exactly like capturing groups, and additionally associate a name with a group. Thematch object methods that deal with capturing groups all accept either integers that refer to the group by number or strings that contain the desired group’s name. Named groups are still given numbers, so you can retrieve information about a group in two ways:
>>> p = re.compile(r'(?P<word>\b\w+\b)')>>> m = p.search( '(((( Lots of punctuation )))' )>>> m.group('word')'Lots'>>> m.group(1)'Lots'
The syntax for backreferences in an expression such as (...)\1
refers to the number of the group. There’s naturally a variant that uses the group name instead of the number. This is another Python extension:(?P=name)
indicates that the contents of the group calledname should again be matched at the current point. The regular expression for finding doubled words,(\b\w+)\s+\1
can also be written as(?P<word>\b\w+)\s+(?P=word)
:
>>> p = re.compile(r'(?P<word>\b\w+)\s+(?P=word)')>>> p.search('Paris in the the spring').group()'the the'
正则表达式文档的整理:https://docs.python.org/2/howto/regex.html
常用
^ Matches the beginning of a line
$ Matches the end of the line
. Matches any character
\s Matches whitespaces
\S Matches any non-whitespace character
* Repeats a character 0 or more times
*? Repeats a character 0 or more times(non-greedy)
+ Repeats a character one or more times
+? Repeats a character one or more times(non-greedy)
( Indicates where string extraction is to start
) Indicates where string extraction is to end
\d Matches any decimal digit
\D Matches any non-didgit character
\w Matches any alphanumeric character
\W Matches any non-alphanumeric character
- python re.compile(?P<name>)
- python 4-3 如何调整字符串中文本格式re.sub(p,r'\1/\2',str1)/re.sub('(?P<Name>p),'\g<Name>',str1)
- python re.compile()和findall()
- python 中的 re.compile 函数
- python正则表达式 re (二)compile
- Python正则之预编译表达式re.compile()
- Python 正则re模块之compile()和findall()详解
- Python正则表达式学习(3)——re.compile()
- Python中正则表达式re模块-compile()和findall()
- re模块 compile函数
- re模块 compile函数
- Python中re.compile遇到only supports 100 named groups的问题
- python3 正则模块 re.compile、re.match、re.search 方法
- python compile
- Python Re
- python re
- python re
- Python--re
- hiho第九十五周 数论四·扩展欧几里德
- css3动画-animation属性
- (2) NSOperation
- 每CPU变量
- [从头学数学] 第205节 初等数论初步
- python re.compile(?P<name>)
- 第一部分:crosstool-ng 制作交叉编译工具链 for s3c2440
- C语言函数fseek, fread, ftell的使用
- 算法1.1节22
- MyEclipse中maven项目pom文件报missing artifact错误
- C语言函数的参数及传递方式
- 一切成功源于积累——20160508 美国非农15分钟k线直至收盘 各货币对表现 大幅不及预期 解读分歧
- 玩转CSDN博客栏目
- solr学习笔记(前奏)