Regex 正则表达式检查字符串是否除了两个特殊字符之间没有任何字母
我试图验证整个字符串,如果它不包含字母,除了两个字母之间的字母 例如: 1+2-是有效字符串 1-2-不是有效字符串 1+2+2-不是有效字符串1和2是有效的,但不应单独保留一半 所以奇怪的-打开了输入字母和字符的空间 即使发生了这样的情况,也应该关闭可以写信的空间 我设法创建了一个正则表达式来验证大多数情况,但最后一个我搞不清楚 这是我的正则表达式:Regex 正则表达式检查字符串是否除了两个特殊字符之间没有任何字母,regex,string,typescript,validation,Regex,String,Typescript,Validation,我试图验证整个字符串,如果它不包含字母,除了两个字母之间的字母 例如: 1+2-是有效字符串 1-2-不是有效字符串 1+2+2-不是有效字符串1和2是有效的,但不应单独保留一半 所以奇怪的-打开了输入字母和字符的空间 即使发生了这样的情况,也应该关闭可以写信的空间 我设法创建了一个正则表达式来验证大多数情况,但最后一个我搞不清楚 这是我的正则表达式: /^[^a-zA-Z]*(#.+#)[^a-zA-Z]*$/g 以下是我正在测试的站点: 旁注: 如果正则表达式无法实现,我正在考虑拆分字符
/^[^a-zA-Z]*(#.+#)[^a-zA-Z]*$/g
以下是我正在测试的站点:
旁注:
如果正则表达式无法实现,我正在考虑拆分字符串,然后在typescript中检查剩余的字母
你知道如何实现这种验证吗?
谢谢您可以使用匹配整个字符串,而不是字符a-z、换行符或a,或者匹配[a-zA-z]+模式,其中中间只能有字符a-z
^(?:[^a-zA-Z\r\n#]|#[a-zA-Z]+#)+$
^字符串开头
?:非捕获组
[^a-zA-Z\r\n]匹配除列出的字符外的任何字符
|或
[a-zA-Z]+匹配,1+字符a-zA-Z和
+交替关闭非捕获组并重复1+次,以避免匹配空stirng
$字符串结尾
也可以使用
[^a-zA-Z\r\n#]|#[a-zA-Z]+#(?:[a-zA-Z]+#)*)+$
可能^\w+\w+\w+$对你有用^[A-Za-z]+[^A-Za-z]**$应该有用\w不合适,因为它相当于A-Za-z_0-9,并且\w不允许在符号之外添加数字或下划线,除非您需要