我无法完全理解为什么我的正则表达式无法提取我想要的信息。我有一个不公开的矢量,看起来像这样:
text <- c("Senator, 1.4balbal", "rule 46.1, declares",
"Town, 24", "A Town with a Long Name, 23", "THIS IS A DOCUMENT,23)
我想创建一个正则表达式,只提取&#34; Town&#34;的名称,即使该城镇有一个长名称,也就是写在向量中的名字(&#34; A Town with长名&#34;)。我试过这个来提取城镇的名字:
reg.town <- "[[:alpha:]](.+?)+,(.+?)\\d{2}"
towns<- unlist(str_extract_all(example, reg.prov))
但我提取了&#34;,&#34;周围的一切。
提前致谢,
答案 0 :(得分:2)
看起来城镇名称以大写字母([[:upper:]]
)开头,以逗号结尾(如果没有逗号则继续到文本末尾)([^,]+
)并且应该是在输入文本的开头(^
)。在这种情况下相应的正则表达式将是:
^[[:upper:]][^,]+
答案 1 :(得分:1)
感谢@Dmitry Egorov在评论中的演示文章,我已经解决了这个问题。正则表达式是这一个([[:upper:]].+?, [[:digit:]])
感谢您的快速回复!!