字符串定位符', \s*([^\.]*)\s*\.'
=是什么意思?
我有一个与Extract sub-string between 2 special characters from one column of Pandas DataFrame相同的数据框
,并要提取位于","
和"."
之间的子字符串。多亏了帖子的回答,一种方法如下:
In [157]: df['Title'] = df.Name.str.extract(r',\s*([^\.]*)\s*\.', expand=False)
In [158]: df
Out[158]:
Name Title
0 Jim, Mr. Jones Mr
1 Sara, Miss. Baker Miss
2 Leila, Mrs. Jacob Mrs
3 Ramu, Master. Kuttan Master
尽管我认为结果是正确的,但是',\s*([^\.]*)\s*\.'
是什么意思?特别是'*'和'\'是什么意思?
答案 0 :(得分:1)
这意味着以下匹配项:
,
(逗号)\s*
零个或多个空格字符(制表符,空格等)([^\.])*
个零个或多个不是.
(点)的字符\s*
零个或多个空格字符\.
(点)您可以在here中找到有关正则表达式的更多信息。
更新
正如@UnbearableLightness所提到的,字符\
在字符集内是多余的,以逃避.
(点)。字符集是[]
之间定义的任何字符。