我对正则表达式很陌生,在过去的两天里,我一直在学习在线教程。我想我理解其中的一些基本知识,但我无法用我拥有的一些数据来实现它。
我有几个短语:
你好,欢迎。我叫,今天我能帮你什么忙吗?
你好,欢迎。我叫Daniel L,今天我能帮你什么忙吗?
你好,欢迎。我叫John Livingston,今天我能帮你什么忙吗?
你好,我是Alyssa D..。我怎么可以帮上你呢?
你好,我叫John。我怎么可以帮上你呢?
你好,欢迎。我叫Felicia F,今天我能帮你什么忙吗?
你好,欢迎。我叫Alex今天我能帮你什么忙吗?
你好,欢迎。我叫亚历克斯P今天我能帮你什么吗?
我试图检索在“我的名字是”的一些变体之后的名字。
问题是,有时有一个名字,名字带有首字母,或者名字和姓。有时句点跟在名字后面,有时是逗号,有时什么都没有(除了单词'how',这可能是标准)。
怎样才能只返回全名呢?
现在我有:
[Mm][Yy]\s\*[Nn][Aa][Mm][Ee]\s\*[Ii][Ss]\s\*(\w+\s?\w\*) 但这并不能解决问题
任何帮助都将不胜感激。我似乎无法在这方面取得任何进展!如果这有帮助的话我在用R。
发布于 2015-02-23 22:13:01
这在提取捕获组的gsubfn封装中使用gsubfn封装(与正则表达式括号大小部分匹配的部分)。
# test data
Lines <- "Hello and welcome. My name is Amanda, how may I assist you today?
Hello and welcome. My name is Daniel L, how may I assist you today?
Hello and welcome. My name is John Livingston , how may I assist you today?
Hello, my name is Alyssa D.. How can I help?
Hello, my name is John. How can I help?
Hello and welcome. My name is Felicia F., how may I assist you today?
Hello and welcome. My name is Alex how may I assist you today?
Hello and welcome. My name is Alex P how may I assist you today?"
L <- readLines(textConnection(Lines))
library(gsubfn)
strapply(L, "is ([A-Z][a-z]*( [A-Z][a-z]*[.]?)?)", simplify = TRUE)给予:
[1] "Amanda" "Daniel L" "John Livingston" "Alyssa D."
[5] "John" "Felicia F." "Alex" "Alex P" 下面是正则表达式的可视化:
is ([A-Z][a-z]*( [A-Z][a-z]*[.]?)?)

https://stackoverflow.com/questions/28684318
复制相似问题