Regex 多条件正则表达式

Regex 多条件正则表达式,regex,Regex,如何在一个正则表达式中分配多个条件 例如:我想要一个以特征词开头和结尾的字符串,它的中间可能有空格,长度也可以是1 所以我写下: (?=^[a-zA-Z0-9])(?=[a-zA-Z0-9]$)(?=^[a-zA-Z0-9 ]+$) 但这不起作用。 我想是这样的: (?=^[a-zA-Z0-9])字符串以a到z和0到9开头 (?=[a-zA-Z0-9]$)它也以相同的字符结尾 (?=^[a-zA-Z0-9]+$)并且它可以包含许多a到z、0到9和空格(在上述条件下,这些空格应该位于字符串的中间

如何在一个正则表达式中分配多个条件

例如:我想要一个以特征词开头和结尾的字符串,它的中间可能有空格,长度也可以是1

所以我写下:

(?=^[a-zA-Z0-9])(?=[a-zA-Z0-9]$)(?=^[a-zA-Z0-9 ]+$)
但这不起作用。 我想是这样的:

(?=^[a-zA-Z0-9])
字符串以a到z和0到9开头

(?=[a-zA-Z0-9]$)
它也以相同的字符结尾

(?=^[a-zA-Z0-9]+$)
并且它可以包含许多a到z、0到9和空格(在上述条件下,这些空格应该位于字符串的中间)

为什么不简单:

^[a-zA-Z0-9][a-zA-Z0-9 ]+[a-zA-Z0-9]$
如果字符串长度可以为一个字符:

^(?=[a-zA-Z0-9])(?=.*[a-zA-Z0-9]$)[a-zA-Z0-9 ]+$
为什么不简单地:

^[a-zA-Z0-9][a-zA-Z0-9 ]+[a-zA-Z0-9]$
如果字符串长度可以为一个字符:

^(?=[a-zA-Z0-9])(?=.*[a-zA-Z0-9]$)[a-zA-Z0-9 ]+$

为什么你只使用lookaheads?@RadLexus我真的不使用ahad和backward,所以?=是在照顾。。。那之后呢?第二个条件?或者字符串的其他部分或者…??为什么只使用lookaheads?@RadLexus我真的不使用ahad和backward,所以?=正在照顾。。。那之后呢?第二个条件?或者字符串的其余部分,或者…??这是最小3个字符,这就是为什么它不简单,所以你把开头和结尾都移了出来,我也试过了,但我没有添加。*,那是什么?看来我把main语句放在第三个括号里是错误的,对吗?@deadManN:第二个lookahead断言在字符串末尾的1 alphanum之前有0个或更多的字符。你可以把主语句放在一个lookahead中,但没有必要。这是3个字符的最小值,这就是为什么它不简单,所以你把开始和结束都移了出来,我也试过了,但我没有添加。*,那是什么?看来我把main语句放在第三个括号里是错误的,对吗?@deadManN:第二个lookahead断言在字符串末尾的1 alphanum之前有0个或更多的字符。您可以将主语句放在前瞻中,但不需要这样做。