需要正则表达式方面的帮助吗?从sp的string开始

2024-05-19 13:09:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望字符串以“shivam”(不带引号)开头。我的正则表达式是:(?=shivam\s)\w+ 但他们不匹配的空间后,湿婆我该怎么办

输入为:

shivam gupta

预期输出为:

gupta

两边没有任何空间。我的输出是shivam gupta


Tags: 字符串空间引号guptashivam湿婆
1条回答
网友
1楼 · 发布于 2024-05-19 13:09:28

如果你想学一点正则表达式的用法

import re
s = "shivam gupta"
m = re.match(r"shivam\s+(\w+)$", s)
if m:                 # Check if the pattern matches the string
    print(m.group(1)) # print only Group 1 contents

参见Python demo

re.match方法只在字符串的开始处搜索,因此在开始处查找shivam。然后\s+匹配一个或多个空格,最后(\w+)$匹配并将捕获到组1中一个或多个单词字符,然后是字符串的结尾$

组1内容通过match对象的.group(1)访问(这里是m

但是,您可以在此处使用字符串方法和拆分操作:

s = "shivam gupta"
if s.startswith("shivam "):
    print(s.split()[1])    # or even print(s[s.find(" "):])

Another demo

相关问题 更多 >