为什么此正则表达式代码不返回任何内容?
#Searches for a pattern in string
pattern = r'[a-zA-Z ]*'
string = '111-456-7890 This is my number... Gimme a ring.'
match = re.search(pattern, string)
match
答案 0 :(得分:1)
答案 1 :(得分:0)
您match
仅是re.Match
类型的对象,您必须在if
语句中以以下形式使用它
if match:
# Some code, if pattern was found
或使用其某些方法来获取一些详细信息,例如g。
match.start()
返回字符串中模式的起始位置(索引),即12
表示您的pattern
r'[a-zA-Z ]+'
和string
(稍作修改)。
完整代码示例:
import re
pattern = r'[a-zA-Z ]+'
string = '111-456-7890 This is my number... Gimme a ring.'
match = re.search(pattern, string)
if match:
print("Start position:", match.start())
print("Matching part:" , match.group())
else:
print("No match.")
输出:
Start position: 12 Matching part: This is my number