python提取字符串中的名字与长数字
时间: 2023-05-16 09:07:22 浏览: 50
可以使用正则表达式来提取字符串中的名字和长数字。以下是一个示例代码:
import re
string = "My name is John, and my phone number is 1234567890."
name_pattern = r"[A-Z][a-z]+"
number_pattern = r"\d{10}"
names = re.findall(name_pattern, string)
numbers = re.findall(number_pattern, string)
print("Names found:", names)
print("Numbers found:", numbers)
输出:
Names found: ['John']
Numbers found: ['1234567890']
这个代码使用了两个正则表达式,一个用于匹配名字,一个用于匹配长数字。re.findall() 函数用于在字符串中查找所有匹配的子串,并返回一个列表。
相关问题
python正则化提取字符串
可以使用Python的re模块来进行正则表达式的匹配和提取字符串。下面是一个简单的例子:
```python
import re
# 定义一个字符串
text = "Hello, my name is John. I am 26 years old."
# 使用正则表达式提取名字和年龄
name_pattern = re.compile(r"my name is (\w+)")
age_pattern = re.compile(r"I am (\d+) years old")
name = name_pattern.search(text).group(1)
age = age_pattern.search(text).group(1)
# 输出结果
print("Name: ", name)
print("Age: ", age)
```
在上面的例子中,首先定义了一个字符串 `text`,然后使用正则表达式 `r"my name is (\w+)"` 和 `r"I am (\d+) years old"` 来提取名字和年龄。其中,`\w+` 表示匹配一个或多个字母数字字符,`\d+` 表示匹配一个或多个数字字符。然后使用 `search()` 方法来查找匹配的字符串,并使用 `group()` 方法来获取匹配的结果。最后将提取的名字和年龄输出。
python正则表达式提取字
串的示例:
假设有一个字符串 "Hello, my name is John, I am 28 years old."
我们想要提取其中的名字 "John" 和年龄 "28",可以使用正则表达式来实现。
具体步骤如下:
1. 导入 re 模块。
```
import re
```
2. 定义正则表达式。
```
pattern = r"my name is (\w+),.*(\d+) years old\."
```
其中,\w+ 匹配一个或多个单词字符(字母、数字、下划线),.* 匹配任意字符(除换行符外)零个或多个,\d+ 匹配一个或多个数字。
3. 使用 re 模块的 findall() 方法匹配字符串。
```
text = "Hello, my name is John, I am 28 years old."
result = re.findall(pattern, text)
print(result)
```
输出结果:
```
[('John', '28')]
```
其中,findall() 方法返回一个列表,列表中的每个元素是一个元组,每个元组对应一个匹配结果,元组中的元素对应正则表达式中每个括号的匹配结果。在本例中,匹配结果为 [("John", "28")]。
4. 提取匹配结果。
```
name, age = result[0]
print(name) # 输出 John
print(age) # 输出 28
```
这样就成功提取出了字符串中的名字和年龄。