我正在尝试匹配不包含任何特殊字符的空格分隔名称。 第一个名称是强制性的,中间名和姓氏是可选的。 此外,名称可以包含所有大写字母,但不是全部小写,每个名称的第一个字符(第一个,中间的,最后一个)都是大写字母。
我正在使用以下正则表达式,但它似乎不起作用:
" [A-Z] \ W + \ S(?:[A-Z] \ W + ?:)\ S(?:[A-Z] \ W + ?:)?"
编辑:这就像一个宝石: " [A-Z] \ W +(:\ S [A-Z](\ W +)?)?(?:?\ S [A-Z](\ W +))?"
答案 0 :(得分:0)
你想要的是
\s[A-Z]\w+(?:\s[A-Z]\w+?)?\s(?:[A-Z]\w+?)?[\s\.\,\;\:]
匹配字符串的开头和结尾,如果你的名字来自。否则,如果它嵌入在文本中,那么您需要类似
的内容<property>
<name>dfs.name.dir</name>
<value>/home/username/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/user/pseudo/dfs/data</value>
</property>