Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式检查字符串是否除了两个特殊字符之间没有任何字母_Regex_String_Typescript_Validation - Fatal编程技术网

Regex 正则表达式检查字符串是否除了两个特殊字符之间没有任何字母

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 以下是我正在测试的站点: 旁注: 如果正则表达式无法实现,我正在考虑拆分字符

我试图验证整个字符串,如果它不包含字母,除了两个字母之间的字母

例如:

1+2-是有效字符串

1-2-不是有效字符串

1+2+2-不是有效字符串1和2是有效的,但不应单独保留一半

所以奇怪的-打开了输入字母和字符的空间 即使发生了这样的情况,也应该关闭可以写信的空间

我设法创建了一个正则表达式来验证大多数情况,但最后一个我搞不清楚

这是我的正则表达式:

/^[^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不允许在符号之外添加数字或下划线,除非您需要