标签: ruby regex
我正在解析文本而我想忽略人们的名字。
示例(案例):
我设法写这个有效的Ruby正则表达式:
"B.Obama".gsub(/\p{L}+\.(\p{L}+)/, '\\1')
然而,它只解决了一个案例。此外,它不会检查,如果第一个字母是大写。
那么,结合所有这些情况的正则表达式应该如何?
详细信息:Ruby 1.92和UTF-8字符串。
答案 0 :(得分:1)
我想了一点,我更喜欢这个:
/^(\w+)[ .,](.+$)/
这将捕获不同捕获组中的名字和姓氏 即
"Mark del cato".scan /^(\w+)[ .,](.+$)/
请参阅rubular例如:Rubular
或尝试
^[^ .]+
这将获取一行中的第一个单词。不是由点或空格分隔的。 希望它有所帮助,请参阅Rubular
答案 1 :(得分:0)
尝试
(\w+)$
\w+匹配一个或多个“字”字符。
\w+
$是与字符串末尾匹配的零长度匹配。
$
你想从一段文字中提取第二个名字吗?这可能会非常困难。你能发一个文字摘录吗?