正则表达式 - 检查名称前后是否没有白色 space
Regex - check if no white space before and after a name
使用这个正则表达式
[A-Z]{1}[a-z]+(?<! )|[A-Z]{1}[a-z]+(?![a-z]* )
我要匹配以下项目。
# match them
AaaaBbbbCcccccDddddd
# don't match them
Aaaaa Bbbbbb
Ccccc Eeeee
在我的正则表达式中,我使用了 OR 运算符。但这仍然是错误的。到目前为止,所有项目都是匹配的。我需要一个 AND 运算符,但没找到。
您可以使用
(?<![ A-Z])[A-Z][a-z]+(?![a-z ])
(?<![\sA-Z])[A-Z][a-z]+(?![a-z\s])
参见regex demo。
详情:
(?<![\sA-Z])
- 如果当前位置左侧有空格或大写字母,则匹配失败的负后视
[A-Z]
- 大写字母
[a-z]+
- 一个或多个小写字母
(?![a-z\s])
- 如果当前位置右侧紧邻有空格或小写字母,则否定前瞻会导致匹配失败。
使用这个正则表达式
[A-Z]{1}[a-z]+(?<! )|[A-Z]{1}[a-z]+(?![a-z]* )
我要匹配以下项目。
# match them
AaaaBbbbCcccccDddddd
# don't match them
Aaaaa Bbbbbb
Ccccc Eeeee
在我的正则表达式中,我使用了 OR 运算符。但这仍然是错误的。到目前为止,所有项目都是匹配的。我需要一个 AND 运算符,但没找到。
您可以使用
(?<![ A-Z])[A-Z][a-z]+(?![a-z ])
(?<![\sA-Z])[A-Z][a-z]+(?![a-z\s])
参见regex demo。
详情:
(?<![\sA-Z])
- 如果当前位置左侧有空格或大写字母,则匹配失败的负后视[A-Z]
- 大写字母[a-z]+
- 一个或多个小写字母(?![a-z\s])
- 如果当前位置右侧紧邻有空格或小写字母,则否定前瞻会导致匹配失败。