问个正则表达式的问题

dongond88 2012-09-23 05:49:46
比如我相匹配包含"mot--"或者"motorola--"的字符串,也就是说子串"orola"可有可无,要怎么做呢?

我尝试给给orola加上小括号,但是这样的话会影响取值时match.group()的索引值,而我又不想改变
...全文
64 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongond88 2012-09-23
  • 打赏
  • 举报
回复
灰常感谢楼上两位!!
qq120848369 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

非常感谢! 请问下这里的?:组合是什么意思?
引用 3 楼 的回复:

Python code
#python 3.2
#coding=gb2312

import re

content = "motorola--"
print(re.search(r'mot(?:orola)?--', content, re.I).group())
content = "mot--"……
[/Quote]

非捕获子组
dongond88 2012-09-23
  • 打赏
  • 举报
回复
非常感谢! 请问下这里的?:组合是什么意思?
[Quote=引用 3 楼 的回复:]

Python code
#python 3.2
#coding=gb2312

import re

content = "motorola--"
print(re.search(r'mot(?:orola)?--', content, re.I).group())
content = "mot--"
print(re.search(r'mot(?:orola)?--', content, r……
[/Quote]
qq120848369 2012-09-23
  • 打赏
  • 举报
回复
#python 3.2
#coding=gb2312

import re

content = "motorola--"
print(re.search(r'mot(?:orola)?--', content, re.I).group())
content = "mot--"
print(re.search(r'mot(?:orola)?--', content, re.I).group())
[Quote=引用 2 楼 的回复:]

Python code
import re

content = "motorola--"
print(re.findall(r'mot(?:orola)?--', content, re.I))
content = "mot--"
print(re.findall(r'mot(?:orola)?--', content, re.I))

['motorola--']
['mot--']
[/Quote]
qq120848369 2012-09-23
  • 打赏
  • 举报
回复
import re

content = "motorola--"
print(re.findall(r'mot(?:orola)?--', content, re.I))
content = "mot--"
print(re.findall(r'mot(?:orola)?--', content, re.I))

['motorola--']
['mot--']
bugs2k 2012-09-23
  • 打赏
  • 举报
回复
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import re
>>> text = ['moto--', 'motorola--']
>>> for l in text:
mat = re.search(r'moto.*?--', l)
if mat:
print mat.group()


moto--
motorola--
>>>

37,733

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧