2024-05-19 13:09:28 发布
网友
我希望字符串以“shivam”(不带引号)开头。我的正则表达式是:(?=shivam\s)\w+ 但他们不匹配的空间后,湿婆我该怎么办
(?=shivam\s)\w+
输入为:
shivam gupta
预期输出为:
gupta
两边没有任何空间。我的输出是shivam gupta
如果你想学一点正则表达式的用法
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中一个或多个单词字符,然后是字符串的结尾$
re.match
shivam
\s+
(\w+)$
$
组1内容通过match对象的.group(1)访问(这里是m)
.group(1)
m
但是,您可以在此处使用字符串方法和拆分操作:
s = "shivam gupta" if s.startswith("shivam "): print(s.split()[1]) # or even print(s[s.find(" "):])
Another demo
如果你想学一点正则表达式的用法
参见Python demo
re.match
方法只在字符串的开始处搜索,因此在开始处查找shivam
。然后\s+
匹配一个或多个空格,最后(\w+)$
匹配并将捕获到组1中一个或多个单词字符,然后是字符串的结尾$
组1内容通过match对象的
.group(1)
访问(这里是m
)但是,您可以在此处使用字符串方法和拆分操作:
Another demo
相关问题 更多 >
编程相关推荐