VBScript 正则表达式 - 条件匹配

VBScript Regular Expression - conditional match

我希望在以一位或多位数字开头的 VBScript 字符串中使用正则表达式进行匹配,这些字符串中间有大写字母或空格,或者以大写字母和空格开头并以一位或多位数字结尾的字符串。

已尝试 "^([0-9]+[A-Z\s]+)|([A-Z\s]+[0-9]+)$" 但无效。

示例匹配字符串:

75 MANOJ TIGADI
VASANT KANETKAR 111

您可以使用分组内的交替来匹配它。

如果您不需要该值作为一个组,您可以将其设置为非捕获。

如果您不想只匹配 space,而是在大写字符之间匹配单个 space 并且没有尾随 space,您可以使用可选的重复组(?: [A-Z]+)*

请注意 \s 也可能匹配换行符。

^(?:[0-9]+(?: [A-Z]+)*|[A-Z]+(?: [A-Z]+)* [0-9]+)$

Regex demo