Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 要匹配格式的正则表达式_Python_Regex_Spotfire - Fatal编程技术网

Python 要匹配格式的正则表达式

Python 要匹配格式的正则表达式,python,regex,spotfire,Python,Regex,Spotfire,我有一个名称文件,格式如下: Last, First Middle Initial 在某些情况下,个体可能没有中间的首字母 Last, First 我想使用正则表达式将顺序更改为 First Middle, Last name 或 有人能帮我用一些表达方式来完成这个任务吗 如何使用正则表达式为这些情况设置条件字段?我想设置一个if函数,如果name字段格式等于这两种可能性中的一种,它将使用相应的表达式来重新排列名称。我正在使用Spotfire客户端执行此操作 谢谢 实施: import r

我有一个名称文件,格式如下:

Last, First Middle Initial
在某些情况下,个体可能没有中间的首字母

Last, First
我想使用正则表达式将顺序更改为

First Middle, Last name

有人能帮我用一些表达方式来完成这个任务吗

如何使用正则表达式为这些情况设置条件字段?我想设置一个if函数,如果name字段格式等于这两种可能性中的一种,它将使用相应的表达式来重新排列名称。我正在使用Spotfire客户端执行此操作

谢谢

实施:

import re
R = re.compile(r"(\w+),\s+(\w+)(\s*\w*)")

def convert(s):
    return R.sub(r"\2\3, \1", s)
和测试:

assert convert("Last, First Middle") == "First Middle, Last"
assert convert("Last, First") == "First, Last"
assert convert("Last, First Middle") == "First Middle, Last"
assert convert("Last, First") == "First, Last"