Regex 为什么在尝试在不同的领域使用模式后,依赖的dropdownlist就消失了?
这里的情况很奇怪。我有一个相关的Regex 为什么在尝试在不同的领域使用模式后,依赖的dropdownlist就消失了?,regex,yii2,Regex,Yii2,这里的情况很奇怪。我有一个相关的下拉列表,下一个字段是客户电话。在该字段中,我使用此模式仅允许数字加上+符号: ['customer_phone', 'match', 'pattern' => '/[0-9+]', ], 但在键入此模式后,我的下拉列表不见了。其他模式工作正常,但这,不知何故-不。有人能告诉我为什么吗?Yii2需要类似于PHP的regexp,因此,应该有两个regex分隔符,并且由于您在开始时定义了/,因此必须在结尾使用相同的分隔符 如果需要匹配一个字符串,该字符
下拉列表
,下一个字段是客户电话
。在该字段中,我使用此模式仅允许数字加上+
符号:
['customer_phone', 'match',
'pattern' => '/[0-9+]',
],
但在键入此模式后,我的
下拉列表
不见了。其他模式工作正常,但这,不知何故-不。有人能告诉我为什么吗?Yii2需要类似于PHP的regexp,因此,应该有两个regex分隔符,并且由于您在开始时定义了/
,因此必须在结尾使用相同的分隔符
如果需要匹配一个字符串,该字符串可能以可选的+
开头,然后有1+个数字,则需要使用
'/^[+]?[0-9]+$/'
这里,
-匹配字符串的开头^
-1或0加上符号(因为[+]?
量词匹配1或0个匹配项,将?
放置在+
内部,使其保持不被替换)[…]
-1+位(因为[0-9]+
量词匹配一个或多个匹配项)+
-字符串结尾$
'/[0-9+]/'
或者甚至'/^[0-9+]+$/'
呃,第一种方法有效。但是regex是否可以只允许一个+符号?只有数字加上一个+符号。我需要这个,因为在activeform中它可能会像这样发生:+code>'/^[+]?[0-9]+$/'起作用了?是的,它起作用了!非常感谢。