我希望字符串以" shivam"开头。 (没有引用)。我的正则表达式是:(?=shivam\s)\w+
但在shivam之后他们不能匹配空间我该做什么?
输入是:
shivam gupta
预期输出为:
gupta
双方都没有任何空间。我的输出是shivam gupta
。
答案 0 :(得分:2)
如果你想学习一点正则表达式
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组内容可通过匹配对象的.group(1)
访问(此处为m
)。
但是,您可以在此处使用字符串方法和拆分操作:
s = "shivam gupta"
if s.startswith("shivam "):
print(s.split()[1]) # or even print(s[s.find(" "):])