如何使用正则表达式选择字符串的这一特定部分?

时间:2019-03-06 10:57:50

标签: python regex

嗨,谢谢您的时间。

我有以下示例字符串:“ Hola Luis,”,但是字符串模板将始终为"Hola {{name}},“。

正则表达式如何与任何名称匹配?您可以假设该名称前接一个空格,后跟一个“ Hola”,后接一个逗号。

谢谢!

4 个答案:

答案 0 :(得分:1)

您可以使用以下regular expression,假设您提到的格式总是相同的

import re
s = "Hola Luis,"
re.search('Hola (\w+),', s).group(1)
# 'Luis'

答案 1 :(得分:0)

s = 'Hola test'
re.match(r'Hola (\w+)', s).groups()[0]

结果:

'test'

答案 2 :(得分:0)

从@yatu继续,

没有正则表达式

print("Hola Luis,".split(" ")[1].strip(","))

说明

split(" ") # to split the string with spaces 
[1]        # to get the forthcoming part
strip(",") # to strip off any ','

输出

Luis

答案 3 :(得分:0)

根据Falsehoods Programmers Believe About Names和您的要求,我将使用以下正则表达式:(?<=Hola )[^,]+(?=,)