我一直在尝试找到/创建一个正则表达式来验证Instagram标签&提到(用户句柄(在Formik中使用Yup。
我找到了一个帖子,这几乎是我需要的,然而,我的正则表达式是生疏的&我似乎无法使它正常工作。
// Regex for hashtags
/^(?:#)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:.(?!.))){0,28}(?:[A-Za-z0-9_]))?)/gm
// Within schema
hashtags: Yup.string()
.required('Tags are required')
.matches(
/^(?:#)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:.(?!.))){0,28}(?:[A-Za-z0-9_]))?)/gm
)
目前正在通过
#foo #bar
#foo,#bar
#foo#bar
#foo bar
#foo,bar
期望通过
#foo #bar
提前感谢
这就是我在Yup中为instagram标签所做的。非常适合我们。Regex101。
/^(?:#)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:(?!))){0,28}(?:[A-Za-z0-9_]))?)((?: #)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:.(?!.))){0,28}(?:[A-Za-z0-9_]))?))*$/