我试图使用regex (https://regex101.com)来识别这个字符串中的名称。
示例案文:
Elon R. Musk (245)436-7956 Jeff Bezos (235)231-3432到目前为止,我所尝试的似乎只适用于没有中间首字母的名称:
([A-Z]{1}[a-z]+) ([A-Z]{1}[a-z]+)注意:电话号码是随机击键。请不要试着给他们打电话。
下面是一个使用的python代码示例:
import re
strr = 'Elon R. Musk (245)436-7956 Jeff Bezos (235)231-3432'
def gimmethenamesdammit(strr):
regex = re.compile("([A-Z]{1}[a-z]+) ([A-Z]{1}[a-z]+)")
print(regex.findall(strr))
gimmethenamesdammit(strr)总之,请修改上面的正则表达式,突出显示名称Elon R. Musk和Jeff Bezos。
运行gimmethenamesdammit(strr)时所需的python输出
gimmethenamesdammit(strr)
[('Elon', 'R.', 'Musk'), ('Jeff', 'Bezos')]发布于 2022-09-17 05:56:56
以下regex表达式解决了这个问题:
import re
strr = 'Elon R. Musk (245)436-7956 Jeff Bezos (235)231-3432'
regex = r"[A-Z]\w+\s[A-Z]?\w+"
POCs = re.findall(regex, strr)
f"{POCs[0]}, {POCs[-1]}"发布于 2022-09-14 17:06:45
试试这个:\b([^\s*][a-zA-Z_\.\s]+)\b
https://stackoverflow.com/questions/73720293
复制相似问题