RegEx包含两个单词,但要排除空格,然后在字符串末尾加上空格

时间:2018-10-20 03:33:49

标签: regex

我正在处理名称,并且试图匹配“ First Last”,而不是“ First Last Middle”。我认为棘手的部分是我确实希望最后允许任何空格,而不是不允许在空格之后再加上其他任何内容。这就是我所拥有的:

^([^\s]+[\s]+)([^\s])$

这几乎可以用,但是它排除了“ First Last”(在末尾加空格),我想允许这样的草率数据输入。

1 个答案:

答案 0 :(得分:1)

在模式结尾处,先查找零个或多个空格,然后是字符串的结尾:

^(\S+\s+)(\S+)(?=\s*$)

https://regex101.com/r/PjGPAw/1

还请注意,只要您有一个仅带有一个标记的字符集(例如\s),就可以完全删除该字符集,而仅使用该标记。另外,\s(即字符集[^\s])的取反等效于\S,表示“除空白字符外的任何字符”,可能比{{ 1}}。