Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 - Fatal编程技术网

Regex 正则表达式不允许仅使用空格?

Regex 正则表达式不允许仅使用空格?,regex,Regex,我有一个正则表达式,它只允许空格、字母和破折号。我想修改它,这样它就不会只允许空格了。有人能帮我吗 /^([A-zăâîșțĂÂÎȘȚ-\s])+$/ 您可以使用负前瞻来限制此通用模式: /^(?!\s+$)[A-Za-zăâîșțĂÂÎȘȚ\s-]+$/ ^^^^^^^^ 见 (?!\s+$)前瞻在最开始时执行一次,如果在字符串末尾有一个或多个空格,则返回false 此外,您的正则表达式包含一个经典版本的[a-z],它不仅匹配ASCII字母,还需要将其替换为[a-Za-z](或者仅[a

我有一个正则表达式,它只允许空格、字母和破折号。我想修改它,这样它就不会只允许空格了。有人能帮我吗

/^([A-zăâîșțĂÂÎȘȚ-\s])+$/

您可以使用负前瞻来限制此通用模式:

/^(?!\s+$)[A-Za-zăâîșțĂÂÎȘȚ\s-]+$/
  ^^^^^^^^

(?!\s+$)
前瞻在最开始时执行一次,如果在字符串末尾有一个或多个空格,则返回false

此外,您的正则表达式包含一个经典版本的
[a-z]
,它不仅匹配ASCII字母,还需要将其替换为
[a-Za-z]
(或者仅
[a-z]
,并使用
/i
不区分大小写的修饰符)

此外,字符类中的
-
通常放在末尾,以避免转义,它将被解析为文字连字符(但是,如果其他开发人员必须通过向字符类添加更多符号来更新此模式,则可能需要转义)

万一这是一个不支持lookarounds的正则表达式引擎:

^[A-Za-zăâîșțĂÂÎȘȚ\s-]*[A-Za-zăâîșțĂÂÎȘȚ-][A-Za-zăâîșțĂÂÎȘȚ\s-]*$
它至少需要允许集合中的1个非空格字符(也匹配1个强制符号)


您可以使用负前瞻来限制此通用模式:

/^(?!\s+$)[A-Za-zăâîșțĂÂÎȘȚ\s-]+$/
  ^^^^^^^^

(?!\s+$)
前瞻在最开始时执行一次,如果在字符串末尾有一个或多个空格,则返回false

此外,您的正则表达式包含一个经典版本的
[a-z]
,它不仅匹配ASCII字母,还需要将其替换为
[a-Za-z]
(或者仅
[a-z]
,并使用
/i
不区分大小写的修饰符)

此外,字符类中的
-
通常放在末尾,以避免转义,它将被解析为文字连字符(但是,如果其他开发人员必须通过向字符类添加更多符号来更新此模式,则可能需要转义)

万一这是一个不支持lookarounds的正则表达式引擎:

^[A-Za-zăâîșțĂÂÎȘȚ\s-]*[A-Za-zăâîșțĂÂÎȘȚ-][A-Za-zăâîșțĂÂÎȘȚ\s-]*$
它至少需要允许集合中的1个非空格字符(也匹配1个强制符号)


-
移动到字符类的末尾或开头。了解您在其中使用的语言也会有所帮助。@chris85谢谢-我不太清楚,我怀疑这是elasticsearch,其中
-
只应放在字符类的开头,以便作为文字符号进行分析,将其移动到字符类的末尾也应该在这里起作用。将
-
移动到字符类的末尾或开头。了解您在其中使用的语言也会有所帮助。@chris85谢谢-我不太清楚,我怀疑这是elasticsearch,其中
-
应该只放在字符类的开头,作为文字符号进行解析,将其移动到字符类的结尾也应该在这里起作用。另外,这里的捕获组没有意义,我从模式周围删除了
,除非您确实需要最后一个字符进行进一步操作。此外,这里的捕获组没有意义,我从模式周围删除了
,除非你真的需要最后一个角色来进行进一步的操作。